我正在尝试使用 Tika 的 AutoDetectParser 来提取文件的内容。我最初认为这是一个依赖性问题,但无法理解现在我将所有 tika-app 都包含在我的 jar 中后,这仍然是正确的。
AutoDetect Parser 在此处返回空字符串:
BodyContentHandler handler = new BodyContentHandler();
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
FileInputStream mypdfstream = new FileInputStream(new File("mypdf.pdf"));
parser.parse(mypdfstream,handler,metadata,context);
System.out.println(handler.toString());
Run Code Online (Sandbox Code Playgroud)
更让我困惑的是,使用标准 PDFParser 工作正常......:
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
FileInputStream mypdfstream = new FileInputStream(new File("mypdf.pdf"));
PDFParser pdfparser = new PDFParser();
pdfparser.parse(mypdfstream,handler,metadata,context);
System.out.println(handler.toString());
Run Code Online (Sandbox Code Playgroud)
我在我的类路径中包含了 tika-app 和 tika-parsers jar,并将它们包含在 ant 创建的 jar 中。 …