Text 如何使用ApachePOI提取docx(上面的Word 2007)
Hai,我正在使用ApachePOI3.6 我已经创建了一些代码Text 如何使用ApachePOI提取docx(上面的Word 2007),text,ms-word,apache-poi,extract,docx,Text,Ms Word,Apache Poi,Extract,Docx,Hai,我正在使用ApachePOI3.6 我已经创建了一些代码 XWPFDocument doc = new XWPFDocument(new FileInputStream(file)); wordxExtractor = new XWPFWordExtractor(doc); text = wordxExtractor.getText(); System.out.println("adding docx " + file);
XWPFDocument doc = new XWPFDocument(new FileInputStream(file));
wordxExtractor = new XWPFWordExtractor(doc);
text = wordxExtractor.getText();
System.out.println("adding docx " + file);
d.add(new Field("content", text, Field.Store.NO, Field.Index.ANALYZED));
不幸的是,它产生了错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:149)
at org.apache.poi.openxml4j.opc.OPCPackage.<init>(OPCPackage.java:136)
at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:54)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:98)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:199)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:178)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:53)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:98)
at org.apache.lucene.demo.Indexer.indexDocs(Indexer.java:153)
at org.apache.lucene.demo.Indexer.main(Indexer.java:88)
线程“main”java.lang.NoClassDefFoundError中的异常:org/dom4j/DocumentException
位于org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:149)
位于org.apache.poi.openxml4j.opc.OPCPackage(OPCPackage.java:136)
位于org.apache.poi.openxml4j.opc.Package.(Package.java:54)
在org.apache.poi.openxml4j.opc.ZipPackage.(ZipPackage.java:98)
位于org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:199)
位于org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:178)
在org.apache.poi.util.PackageHelper.open(PackageHelper.java:53)
位于org.apache.poi.xwpf.usermodel.XWPFDocument.(XWPFDocument.java:98)
位于org.apache.lucene.demo.Indexer.indexDocs(Indexer.java:153)
位于org.apache.lucene.demo.Indexer.main(Indexer.java:88)
它似乎使用了构造函数
XWPFWORD提取器(OPC包装容器)
但不是这个->
xwpfordextractor(XWPFDocument文档)
有人想知道为什么吗??
或者知道如何提取.docx然后将其转换为字符串吗?您可以尝试使用docx4j;请参见看起来类路径上没有所有依赖项
如果您仔细看一下,就会发现在处理OOXML文件时,dom4j是一个必需的库。从你得到的例外情况来看,似乎你没有。。。如果您查看POI二进制下载,您应该在ooxml libs子目录中找到它。您需要将dom4j库添加到CLAPATH或项目库中