2017-12-01 23 views
0

GithubのリポジトリからTikaをインストールし、スキャンしたドキュメントページを含むPDFをOCRしようとしました。TikaはTesseractを検出しましたが、OCRを実行しません

WARNING:たTesseract OCRがインストールされていると自動的に「あなた ない限り、画像ファイルに適用されます、私はたTesseractがインストールされ、利用されていることを事前に確認を得たものの、メタデータのみが(抽出します

java -cp tika-app/target/tika-app-1.17-SNAPSHOT.jar org.apache.tika.cli.TikaCLI /tmp/testing/sample_scanned.pdf 

Tesseractはコンテンツの抽出を大幅に遅くする可能性があります(TIKA-2359)。 Tika 1.15(およびそれ以前のバージョン)では、Tesseractが自動的に呼び出されます Tikaの将来のバージョンでは、テスを回すseractOCRParser on TikaConfig

Full output

注:通常のPDFファイル(含む)プレーンテキストが正常に解凍されます。問題は、OCRプロセスそのものと思われます。

これはCentosとUbuntuで同じ問題がテストされています。

設定ファイルを変更する必要がありますか、さらにパーサーを指定しますか?何が原因でしょうか?

ありがとうございます。

+0

をまだ解決策を探しています。 OCR部品を使用するには、設定のどこかでOCR部品を指定する必要がありますか?その場合、「Tesseract OCRがインストールされており、自動的に適用される」という警告メッセージが表示されるのはなぜですか? (上記のように)。 – Gugols

+0

これはPDF Parserに関連しているようです。私はちょうど同じ問題に直面しました。埋め込まれた画像で.docxファイルを解析すると、画像からテキストが抽出され、PDFファイル内の同じ画像を使用しても機能しません。 –

答えて

0

PDF画像の抽出は、デフォルトでは無効になっています。 PDFParserConfigから:

は用心:控えめなサイズ(〜4メガバイト)の一部のPDF文書は、合計埋め込みイメージ> 2.5ギガバイトの数千人を含めることができます。また、少なくともPDFBox 1.8.5では、驚くほど大きなメモリ消費やメモリ不足エラーが発生することがあります。慎重にtrueに設定してください。デフォルトはfalseです。

私のために働いていることを可能にするための簡単な例:

Parser parser = new AutoDetectParser(); 
ContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE); 
ParseContext parseContext = new ParseContext(); 
PDFParserConfig pdfConfig = new PDFParserConfig(); 
pdfConfig.setExtractInlineImages(true); 
parseContext.set(PDFParserConfig.class, pdfConfig); 
try (InputStream stream = ClasspathUtil.readStreamFromClasspath("test.pdf")) { 
    parser.parse(stream, handler, new Metadata(), parseContext); 
    System.out.println(handler.toString()); 
} 
関連する問題