1

次のコードで Apache Tika (tika-app-1.3) を使用して PDF ファイルを解析しています。

InputStream input = new FileInputStream("Introduction.pdf");  
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler(100 * 1024 * 1024);
Metadata metadata = new Metadata();
parser.parse(input, handler, metadata);
System.out.println(handler.toString());

handler.toString()PDFテキストを表示していますが、このテキストには?記号として表示されている箇条書きも含まれていますが、これらの箇条書きをそのままにしたい. Apache Tika を使用して元のコンテンツをそのまま取得する方法はありますか? または、解析時にどこでエンコーディングを定義する必要がありますか?

4

1 に答える 1

0

問題は、プログラムがコンソールに書き込むために使用しているエンコーディングが、コンソールがプログラムの出力を処理するために使用しているエンコーディングと一致していないか、コンソールで使用されているフォントに文字のグリフがない可能性があります。この回答を参照してください。

チェックする 1 つの方法は、文字列内の文字の数値を出力することです。次に、テキストに ? が含まれているかどうかがわかります。(U+003F) かどうか。

PDF に、文字ではなく箇条書きの画像が含まれている場合もあります。

于 2013-07-09T15:16:53.083 に答える