2017-03-08 6 views
0

Windows 용 Apache Tika 및 Tesseract를 사용하여 스캔 한 텍스트가 포함 된 PNG 파일을 구문 분석하려고합니다.Tika의 Tesseract 사용 : 결과에 줄 바꿈 만 있음

명령 줄에서 Tesseract를 실행해도 텍스트가 올바르게 인식되지만 Tika에서 반환 한 내용에는 줄 바꿈 ("\ n") 만 포함됩니다. 그것은처럼 보이는, 그러나

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 

:

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()는 같은 프로세스 실행 명령을 실행해야합니다 발견 :

내 코드입니다 프로세스가 실행되지 않습니다. 다른 세션에서 같은 명령을 실행하면 인식 된 내용이 나타납니다.

+0

[Tika 문제 해결 가이드] (https://wiki.apache.org/tika/Troubleshooting%20Tika#Wrong_Content_Extracted)를 따라 시도해 보셨습니까? – Gagravarr

답변

0

나는 문제가이 줄 것을 발견했다 :

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

이 줄은 생략해야하며, 파서는 옳은 길을 찾을 수 있습니다.