2017-03-08 4 views
0

Windows用のApache TikaとTesseractを使用して、スキャンしたテキストを含むPNGファイルを解析しようとしています。TikaのTesseractを使用:結果に改行のみが含まれています

コマンドラインからTesseractを実行するとテキストが正しく認識されますが、Tikaが返すコンテンツには改行( "\ n")のみが含まれています。

これは私のコードです:

ByteArrayInputStream inputstream = new ByteArrayInputStream(document.getFileContent()); 
byte[] content = document.getFileContent(); 
Parser parser = new AutoDetectParser(); 
BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE); //to process long files 
Metadata metadata = new Metadata(); 

ParseContext parseContext = new ParseContext(); 
TesseractOCRConfig config = new TesseractOCRConfig(); 
config.setTesseractPath("C:\\Program Files (x86)\\Tesseract-OCR"); 
config.setTessdataPath("C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"); 
config.setMaxFileSizeToOcr(Integer.MAX_VALUE); 
parseContext.set(TesseractOCRConfig.class, config); 
parseContext.set(Parser.class, parser); 

parser.parse(inputstream, handler, metadata, parseContext); 

String contentString = handler.toString(); 
System.out.println(contentString);  

私はデバッグしようとしたとTesseractOCRParser.doOcr()はそのようなコマンドを実行するプロセスを実行する必要があることが見つかりました:

tesseract C:\Users\admin\AppData\Local\Temp\apache-tika-6655676641285964446.tmp C:\Users\admin\AppData\Local\Temp\apache-tika-2151149415666715558.tmp -l eng -psm 1 txt 

はしかし、それは次のようになりますプロセスは実行されません。別のセッションから同じコマンドを実行すると、認識されたコンテンツが表示されます。

+0

[この種の問題のTikaトラブルシューティングガイド](https://wiki.apache.org/tika/Troubleshooting%20Tika#Wrong_Content_Extracted)に従ってみましたか? – Gagravarr

答えて

0

私はこの問題は、このラインにあったことを発見した:

config.setTessdataPath("C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"); 

この行は省略されなければならないとパーサが正しい道を見つけるでしょう。

関連する問題