[英]Tika AutoDetectParser returning empty string?
我正在嘗試使用Tika的AutoDetectParser來提取文件的內容。 我原本以為這是一個依賴性問題,但是無法理解為什么現在我可以將所有tika-app包含在我的jar中。
AutoDetect Parser在此返回emptry字符串:
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());
令我感到困惑的是,使用標准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());
我在我的類路徑中包含了tika-app和tika-parsers jar,並將它們包含在ant創建的jar中。
build.xml
相關部分
<javac srcdir="${src}" destdir="${build}">
<classpath>
<pathelement path = "lib/tika-app-1.11.jar"/>
<pathelement path = "lib/tika-parsers-1.11.jar"/>
</classpath>
</javac>
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}">
<zipgroupfileset dir="lib" includes="tika-app-1.11.jar"/>
<zipgroupfileset dir="lib" includes="tika-parsers-1.11.jar"/>
</jar>
編輯:我用parser.getSupportTypes(context))
查看了我的supportedTypes
列表,它是空的。 與parser.getParsers()
返回的解析器列表一樣。
那么這可能是另一個依賴問題呢? 鑒於包括tika-app,這真的讓我感到驚訝。
我有同樣的問題,我已經糾正了再次添加Tika Core和Parser依賴於我的Pom.xml,然后在Eclipse上更新Maven。
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.18</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.18</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.