Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于处理docx文档的apachepoi或docx4j_Java_Apache Poi_Docx_Docx4j - Fatal编程技术网

Java 用于处理docx文档的apachepoi或docx4j

Java 用于处理docx文档的apachepoi或docx4j,java,apache-poi,docx,docx4j,Java,Apache Poi,Docx,Docx4j,您认为将docx文档作为java对象来读取哪个更好?为什么 换句话说。哪个库支持大多数word标记?我认为ApachePOI的主要重点是处理电子表格,尽管我有读取word文档的功能,并且它使用XMLBean来实现这一点。 Docx4j主要使用jaxb处理docx文档。通常jaxb允许xml到java对象转换,因此我认为docx4j更适合您的情况。披露:我负责docx4j项目 虽然docx4j也可以处理pptx和xlsx,但它主要用于docx操作。举例来说,在撰写本文时,本书共有近1000个主题。

您认为将docx文档作为java对象来读取哪个更好?为什么


换句话说。哪个库支持大多数word标记?

我认为ApachePOI的主要重点是处理电子表格,尽管我有读取word文档的功能,并且它使用XMLBean来实现这一点。
Docx4j主要使用jaxb处理docx文档。通常jaxb允许xml到java对象转换,因此我认为docx4j更适合您的情况。

披露:我负责docx4j项目

虽然docx4j也可以处理pptx和xlsx,但它主要用于docx操作。举例来说,在撰写本文时,本书共有近1000个主题。pptx论坛只有10%的容量

无论您想对docx文档做什么,docx4j都应该能够帮助您。有一个通用工作流的框架

对于许多常见需求,docx4j提供了更高级别的API。这些措施包括:

  • 创建/打开/保存docx(当然)

  • 使用多种方法生成报告/文档:(i)变量 替换,(ii)XML数据绑定(特别强大),以及(iii)邮件合并

  • 导出为HTML、XHTML

  • 导出为PDF(支持字体)

除此之外,您还可以将docx的JAXB表示操作到您的核心内容。JAXB是Java社区标准,包含在Java6中,在EclipseLink的MOXy中有一个强大的替代实现。(POI使用XML bean而不是JAXB)

有一种方法可以帮助您浏览docx,并生成Java代码来创建相应的Java对象

当然,如果您想完成某项特定任务,可能是docx4j或POI在这方面具有特殊优势

docx4j和POI均获得ASL v2许可

docx4j得到积极维护;它的源代码是

此外,如果您需要,docx4j还可以获得商业支持,一些商业扩展如


docx4j确实依赖POI作为OLE 2复合文档格式的库,我们对此表示感谢。

我尝试了Apache POI,但问题是当从docx文件打印任何内容时(例如:从docx打印所有“Heading1”元素),它会打印大量错误数据和空白。Docx4j将避免这些坏数据,我尝试过了。

如果您处理的是docx文档,Docx4j比ApachePOI更方便。 您可以使用以下链接学习docx4j的基础知识。此外,还有一个很好的docx4j论坛

一,。
2.?

所有处理都来自XML解析,对吗?例如,我可以通过docx4j交互使用word文档吗。比如,如果我想搜索某些文本,并像搜索框那样选择结果,XML将被解组为JAXB对象;然后通常在该级别进行处理。docx4j是一个库。要以交互方式使用它,您必须创建一个交互应用程序。docx4all是基于docx4j的交互式应用程序(字处理器)的一个示例。使用docx4j,您可以搜索文本,并对结果进行处理。docx4j是否支持docx文件中的表?例如,我只是尝试创建一个采购订单docx文件并将其转换为pdf,但该表的格式非常糟糕。我在docx4j网站上使用了示例webapp,网址为:查看我对您问题的回答,网址为:Can it split word documents?,这在POI API中是不可能的。