如何用tika提取.ppt文件的文本?

use*_*057 1 java text-extraction apache-tika

我用tika用tika提取了.pdf文件的文本AutoDetectParser.但是当我使用相同的代码提取.ppt文件的文本时,它会引发异常.怎么做?谢谢

编辑:
我使用的代码是:

File file = new File("1.ppt");
InputStream input = new FileInputStream(file);
Parser autoDetectParser = new AutoDetectParser();
Metadata metadata = new Metadata();
StringWriter writer = new StringWriter();
ContentHandler handler = new WriteOutContentHandler(writer);
autoDetectParser.parse(input, handler, metadata, new ParseContext());
Run Code Online (Sandbox Code Playgroud)

而例外是:

java.lang.NoSuchFieldError: SMALLER_BIG_BLOCK_SIZE_DETAILS
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:93)
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:190)
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:184)
at org.apache.tika.parser.microsoft.POIFSContainerDetector.getTopLevelNames(POIFSContainerDetector.java:371)
at org.apache.tika.parser.microsoft.POIFSContainerDetector.detect(POIFSContainerDetector.java:165)
at org.apache.tika.detect.CompositeDetector.detect(CompositeDetector.java:61)
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:113)
at ppt.PPTParserTest.test3(PPTParserTest.java:52)
Run Code Online (Sandbox Code Playgroud)

我发现一些额外的问题引起了jars我的问题classpath.

Mat*_*sel 5

如果运行时类路径中有两个不同版本的POI,则会发生此异常.在较新版本的POI中,NPOIFSFileSystem引用POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS.旧版本的POI中不存在此常量.

我遇到了这个异常tika-app-1.4.jar(捆绑了POI 3.9)和poi-3.0.2-FINAL-20080204.jar我的类路径.