2

多くのテーブルを持つpdfファイルからテキストを抽出するためにtikaを使用しています。

java -jar tika-app-0.9.jar -t https://s3.amazonaws.com/centraldoc/alg1.pdf

無効なテキストが返され、2 つの単語の間の空白が削除されることがあります。たとえば、「現実世界への数学的アイデアのリンク」ではなく、「現実世界への数学的アイデア」を返します。

この種のエラーを最小限に抑える方法はありますか? または、使用できる別のライブラリがありますか? OCRを使用してこれらの種類のpdfを処理することは理にかなっていますか?

4

2 に答える 2

2

PDFBox パーサーを使用するときに順序を制御してください:PDFTextStripperドキュメント内の行の順序を制御するフラグがあります。デフォルトでは (PDFBox では) パフォーマンス上の理由から false に設定されていますが (順序は保持されません)、Tika はリリース間でこのフラグのオンとオフを切り替える動作を変更しました。

この問題の詳細については、私のブログExtracting text from PDF files with Apache Tika 0.9 (and PDFBox under the hood) を参照してください

于 2011-08-15T22:56:12.783 に答える
2

PDF からテキストを取得して正しい順序で表示するには、SortByPosition フラグを true に設定する必要がありました... (tika-app-1.19.jar)

                    BodyContentHandler handler   = new BodyContentHandler();
                    Metadata           metadata  = new Metadata();
                    ParseContext       context   = new ParseContext();
                    PDFParser          pdfParser = new PDFParser();

                    PDFParserConfig config = pdfParser.getPDFParserConfig();
                    config.setSortByPosition(true); // needed for text in correct order
                    pdfParser.setPDFParserConfig(config);

                    pdfParser.parse(is, handler, metadata, context);
于 2018-10-17T12:25:26.907 に答える