来自Apache Tika提取扫描的PDF文件,对于扫描文档它完全正常工作。但问题在于,它花费的时间太长,同时CPU利用率也很高。
在我的情况下,大小为15 MB
,有23页
的文件需要大约~4.5分钟
的时间,这太高了。请见下面是我的工作代码:
Parser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
TesseractOCRConfig config = new TesseractOCRConfig();
PDFParserConfig pdfConfig = new PDFParserConfig();
pdfConfig.setExtractInlineImages(true);
ParseContext parseContext = new ParseContext();
parseContext.set(TesseractOCRConfig.class, config);
parseContext.set(PDFParserConfig.class, pdfConfig);
//need to add this to make sure recursive parsing happens!
parseContext.set(Parser.class, parser);
Metadata metadata = new Metadata();
parser.parse(inputStream, handler, metadata, parseContext);
String content = handler.toString();
如何使其更加优化/快速?有什么建议吗?
AutoDetectParser parser = new AutoDetectParser(); parser.parse(stream, handler, new Metadata(), new ParseContext()); String content = handler.toString();
- Darshan Patel