当前位置: 首页 > 面试题库 >

用于处理docx文档的Apache POI或docx4j

尹英华
2023-03-14
问题内容

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

换一种说法。哪个库支持大多数单词标签?


问题答案:

披露:我领导docx4j项目

尽管docx4j还可以处理pptx和xlsx,但它主要用于docx操作。举例来说,在撰写本文时,docx4j论坛中有近1000个主题。pptx论坛仅占10%。

无论您想对docx文档做什么,docx4j都应该能够为您提供帮助。通用工作流只有一页概述。

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

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

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

  • 导出为HTML,XHTML

  • 导出为PDF(支持字体)

对于其他任何事情,您都可以根据自己的意愿操纵docx的JAXB表示形式。JAXB是Java
6中包含的Java社区标准,并且在EclipseLink的MOXy中具有强大的替代实现。(POI使用XML Bean而不是JAXB)

有一个Web应用程序可帮助您浏览docx,并生成Java代码以创建相应的Java对象。

当然,如果您有一些特定的任务,可能是docx4j或POI具有特定的优势。

docx4j和POI均已获得ASL v2许可。

docx4j正在积极维护;它的源代码在GitHub上。

此外,如果需要,可以为docx4j提供商业支持,还有一些商业扩展,例如MergeDocx。

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



 类似资料:
  • 我正在尝试创建一个包含多列的word文档。这样做(而不是使用表)的原因是,数据将跨越多个页面,在添加到新页面之前,我只能用列填充整个页面。 可以用ApachePOI实现吗?谢谢

  • 我无法使用ApachePOI删除docx文件中的所有注释。有没有其他方法可以使用docx4j api删除注释?

  • 我试图设置一些段落或文本在. docx文件使用Apache POI,我正在读取一个. docx文件作为模板从WEB-INF/资源/模板文件夹内我的战争文件,一旦读取,我想创建动态更多的表后,第9表用作模板,我可以添加更多的表格,但其他类型的内容(段落)被安排在文档的其他部分?有必要的形式来做这件事吗?

  • 主要内容:XML解析器API,用SAX API解析XML,用DOM API解析XML可扩展标记语言(XML)是一种非常类似于HTML或SGML的标记语言。这是由万维网联盟推荐的,可作为开放标准提供。 .Net Framework中的命名空间包含用于处理XML文档的类。以下是命名空间中的一些常用类。 编号 类 说明 1 代表一个属性。属性的有效值和默认值是在文档类型定义(DTD)或模式中定义的。 2 代表CDATA部分。 3 提供几个类使用的文本操作方法。 4 表示XML注释的内容

  • 问题内容: 我只有几个Word文件,每个文件都有特定的内容。我想要一个显示给我的片段,或者帮助我弄清楚如何在使用Python库的同时将word文件合并为一个文件。 例如,在pywin32库中,我执行以下操作: 但是我需要在使用Python库而不是 问题答案: 如果您的需求很简单,则可以使用以下方法: 您还可以做其他事情,但这应该可以帮助您入门。 事实证明,在一般情况下,将内容从一个Word文件复制

  • 我试图用处理docx文件。只是简单地读取然后写入文件(现在)。这是我的简单代码: 问题是输入文件的头文件中有一个小图像。因此,在使用POI处理输入文件并在Microsoft Word中打开输出文件后,我收到损坏的文件错误: 一切工作在OO Writer,但不是在办公室。 问题是:怎么了?apache POI是否不处理头文件中包含图像的文件?你知道解决这个问题的方法吗? 我需要使用,我不考虑其他工具