【问题标题】:How to Extract docx (Word 2007 above) using Apache POI如何使用 Apache POI 提取 docx(Word 2007 以上)
【发布时间】:2011-04-06 00:14:43
【问题描述】:

嘿,我正在使用 Apache POI 3.6 我已经创建了一些代码..

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)

好像用了构造函数

XWPFWordExtractor(OPCPackage 容器)

但不是这个 ->

XWPFWordExtractor(XWPFDocument 文档)

任何想知道为什么? 或者知道如何提取 .docx 然后将其转换为字符串?

【问题讨论】:

    标签: text ms-word apache-poi extract docx


    【解决方案1】:
    【解决方案2】:

    看起来您的类路径中没有所有依赖项。

    如果您查看http://poi.apache.org/overview.html,您会发现 dom4j 是处理 OOXML 文件时必需的库。从你得到的异常来看,好像没有……如果你查看POI二进制下载,应该在ooxml-libs子目录下找到。

    【讨论】:

      【解决方案3】:

      您需要将 dom4j 库添加到您的 claspath 或项目库中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-27
        • 1970-01-01
        • 2016-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-29
        • 2011-06-25
        相关资源
        最近更新 更多