0

私は非常に奇妙な問題を抱えており、Amazon EC2 インスタンスで何が起こっているのかわからないかもしれません。

PDFをロードしてデータを抽出し、iTextsharpコンポーネント(バージョン5.4.1)を使用して出力を文字列として返します。私のローカルマシンでは絶対に問題なく動作しています。

しかし、Amazon EC2 インスタンス (windows server 2008 R2) にデプロイすると、動作せず、エラーが発生します。以下のようにログファイルにエラーを記録しました

java.io.IOException: Error: End-of-File, expected line
iTextSharp.text.exceptions.InvalidPdfException: PDF header signature not found

私のコードは以下にあり、ヘルプ/提案は本当に感謝しています.

public static string parseUsingPDFBox(string PDFFilePath)
{
       PdfReader reader = new PdfReader(PDFFilePath);
       StringWriter output = new StringWriter();

       for (int i = 1; i <= reader.NumberOfPages; i++)
            output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()));

       reader.Dispose();
       return output.ToString();
}

EC2 インスタンスのすべての管理者権限を持ち、.Net Framework 4.0 を使用しています

4

1 に答える 1

0

次のようにデバッグしてください。

を作成FileInputStreamしますPDFFilePath

bytesこのストリームの を配列に読み取ります。

最初の 5 バイトを確認します。

ローカル システムでは'%''P''D''F''-'です。

Amazon EC2 インスタンスでは、そうではありません。

すべてのバイトをチェックして、何が問題なのかを確認します。

于 2013-06-21T12:21:44.033 に答える