有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用Tika从docx中提取文本

我试图从docx中提取文本:tika应用程序做得很好,但当我尝试在代码中做同样的事情时,结果是什么都没有,tika解析器说我的docx文件的内容类型是“application/zip”

我该怎么办?我应该使用递归方法(比如this)还是有其他方法

更新:如果我将文件名添加到元数据中,现在可以正确检测到文件内容类型:

InputStream is =  new FileInputStream(myFile);
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
metadata.set(Metadata.RESOURCE_NAME_KEY, myFileFilename);
ParseContext context = new ParseContext();
context.set(Parser.class, parser);
parser.parse(is, handler, metadata, context);

总之,在parse()中,我得到了错误

java.lang.NoClassDefFoundError: org/apache/poi/openxml4j/exceptions/InvalidFormatException at org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:82)


共 (0) 个答案