1. 产品
  2.   字处理
  3.   Java
  4.   DOCX4J
 
  

用于 Word DOCX 文档的开源 Java API

创建、阅读、编辑和转换 Microsoft Word DOCX 文件,通过 Java 库添加文本和表格。

DOCX4J 是基于 JAXB 的开源 (Apache v2) 库,用于处理 Microsoft Office 文件格式。它提供读取、写入、编辑和保存 Microsoft Word 2007 DOCX 文件格式的功能。

DOCX4J 类似于 Microsoft 的 OpenXML SDK,但用于 Java。它使用 JAXB 创建内存中的对象表示。使用 API,您可以生成 Mircosoft Office 文档、编辑它们、格式化文本和段落、插入表格和图像以及管理其他表单元素等等。基本上,它的重点是功能,如果格式支持它,您可以使用 API 来实现。

Previous Next

DOCX4J 入门

首先,您需要在系统上安装 Java 开发工具包 (JDK)。在基于 Maven 的 Java 项目中引用 DOCX4J 更加简单。您只需在 pom.xml 中添加以下依赖项,并让您的 IDE 获取并引用 DOCX4J Jar 文件。

DOCX4J Maven 依赖

<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
  

将段落、图像和表格添加到 Word 文档

DOCX4J 允许开发人员将段落和图像添加到 Word 文档中。 API 还提供了将表格添加到 DOCX 文档的功能,同时可以使用用户定义的数据创建简单的嵌套表格。

使用 DOCX4J 创建 DOCX Free - Java

// Create word package
WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
// Create main document part
MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
// Add Paragraph
mainDocumentPart.addParagraphOfText("Open Source Java API for Word DOCX Documents");
// Save file
wordPackage.save(new File("FileFormat.docx"));

从 DOCX 中提取文本

DOCX4J 提供了专门的类,只需几行代码即可从 Microsoft Word DOCX 文档中提取数据。同样,它还可以从Word文件中提取标题、脚注、表格数据等。

从 DOCX Free 中提取文本 - Java

// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
  Text text = (Text) ((JAXBElement) obj).getValue();
  String textValue = text.getValue();
  System.out.println(textValue);
}                 

使用 Java API 生成和编辑 Word 文档

DOCX4J 使软件程序员能够以 DOCX 文件格式创建新的 Word 文档。开发人员还可以加载现有的 Microsoft Word DOCX 文件以根据他们的应用程序需要对其进行编辑。它允许您添加新段落、插入文本、应用文本对齐和边框、更改文本样式等。

将 Microsoft Word Docx 文档转换为 PDF

开源 Java 库 docx4j 为 Microsoft Word docx 文档生成和转换为各种流行格式提供了完整的支持。 docx4j 提供了 3 种不同的方式将 Microsoft Word docx 文档转换为 PDF。以下示例使用documents4j(远程运行)将docx 文件转换为PDF。

通过 Java 将 EWord Docx 文档转换为 PDF


public class DocxFileToPDF {
public static void main(String[] args) throws IOException, Docx4JException {
File output = new File(System.getProperty("user.dir")+"/result.pdf");
FileOutputStream fos = new FileOutputStream(output); 
Documents4jRemoteServices exporter = new Documents4jRemoteServices();
exporter.export(new File(System.getProperty("user.dir")+"/../docx4j-samples-docx4j/sample-docs/sample-docx.docx") , fos, DocumentType.MS_WORD); 
fos.close();
}
}
 中国人