在 Java 中創建豐富的 Word 文檔

近年來,動態生成 Word 文檔已成為編寫報告、報價單、發票和其他類型文檔的流行功能。各種製造公司根據存儲在數據庫中的數據生成發票。在這種情況下,文檔自動化可以節省手動文檔創建過程所需的時間、精力和資源。本文旨在以文檔自動化過程為目標,讓您了解如何在 Java 中以編程方式創建 Word 文檔。

用於創建 Word 文檔的 Java API

在本文中,我們將使用 Aspose.Words for Java,這是一個功能豐富的 API,可以在基於 Java 的應用程序中創建、編輯或轉換 Word 文檔。您可以下載 API 的 JAR 或使用以下 Maven 配置安裝它:

存儲庫:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

依賴:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

在以下部分中,您將學習如何使用 Java 以編程方式創建包含文本、段落、表格、列表、圖像等不同元素的 Word 文檔。

使用 Java 創建 Word 文檔

大多數時候,Word文檔中有相當一部分內容是基於文本的。因此,我們將通過創建一個帶有標題和段落的 Word 文檔來開始我們的旅程。以下是創建Word文檔的步驟:

以下代碼示例顯示瞭如何使用 Java 創建包含文本的 Word 文檔。

// 創建文檔對象
Document doc = new Document();
// 創建一個 DocumentBuilder 對象
DocumentBuilder builder = new DocumentBuilder(doc);
// 指定字體格式
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// 開始段落
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// 保存文檔
doc.save("Rich Word Document.docx");

輸出

在 Java 中生成 Word 文檔

使用 Java 創建一個包含表格的 Word 文檔

Word 文檔中的表格用於以行和列的形式組織內容。在本節中,我們將創建一個包含兩行和兩列的簡單表格。創建表包括四個基本操作:

  • 啟動表
  • 插入單元格
  • 結束行
  • 結束表

下面是使用Java在Word文檔中創建表格的步驟:

以下示例演示如何在 Word 文檔中創建表格。

// 創建文檔對象
Document doc = new Document();
// 創建一個 DocumentBuilder 對象
DocumentBuilder builder = new DocumentBuilder(doc);
// 創建表
Table table = builder.startTable();
// 插入單元格
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// 結束行
builder.endRow();
// 開始下一行並設置其屬性
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// 茶几
builder.endTable();
// 保存文檔
doc.save("Rich Word Document.docx");

輸出

Java生成帶錶格的Word文檔

使用 Java 在 Word 文檔中創建列表

以下是將列表添加到 Word 文檔的步驟。

  • 首先,創建一個 Document 類的對象。
  • 使用 Document.getLists().add() 方法將所需類型的列表添加到文檔中。
  • 將文檔中的列表放入 List 對像中。
  • 使用 DocumentBuilder 對象填充列表。
  • 最後,保存文檔。

以下代碼示例顯示瞭如何使用 Java 在 Word 文檔中創建列表。

// 創建文檔對象
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// 設置為 true 以指定列表必須在每個部分重新啟動。
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// 插入分節符。
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// 保存文檔
doc.save("Rich Word Document.docx");

輸出

在 Java 的 Word docx 中插入列表

使用 Java 在 Word 文檔中插入圖像

將圖片插入到Word文檔中就像餅圖一樣簡單。以下是執行此操作的一些簡單步驟:

以下代碼示例顯示瞭如何使用 Java 將圖像插入到 Word 文檔中。

// 創建文檔對象
Document doc = new Document();
// 創建文檔生成器
DocumentBuilder builder = new DocumentBuilder(doc);
// 插入圖片
builder.insertImage("aspose-words.png");
// 保存文檔
doc.save("Rich Word Document.docx");

輸出

在 Java 的 Word docx 中插入圖像

結論

在本文中,您學習瞭如何使用 Java 以編程方式創建豐富的 Word 文檔。此外,代碼示例還展示瞭如何向 Word 文檔添加文本、表格、圖像和列表。您可以閱讀更多了解如何使用 Aspose.Words for Java 將各種元素插入到 Word 文檔中。

免費試用 Aspose.Words for Java

您可以獲得免費的臨時許可 來嘗試使用 Aspose.Words for Java,而沒有試用限制。

也可以看看