頁眉和頁腳通常用於文檔中以顯示頁碼、主題、章節等重要信息。您可以在 Word 文檔 DOCX DOC 中添加、插入、刪除或刪除頁眉和頁腳,使用您的 Java 應用程序。在本文中,我們將學習如何添加或刪除頁眉和頁腳。以下是我們將詳細探討的主題:

插入或刪除頁眉頁腳 API – 安裝

為了在 Word 文檔中使用頁眉和頁腳,我們將使用 Aspose.Words for Java API,其中簡單的 API 調用將幫助我們實現要求。您可以從發布部分 下載 JAR 文件,或在您的項目中復制以下 Maven 配置。 API 將通過 Maven 存儲庫進行配置,您可以繼續執行本文中介紹的進一步步驟。

存儲庫:

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

依賴:

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>jdk17</classifier>
    </dependency>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

使用 Java 在 Word 文檔 (DOCX/DOC) 中添加頁眉和頁腳

在 Word 文檔 (DOCX/DOC) 中添加頁眉和頁腳是處理文字處理文檔的一個基本但重要的用例。然而,不同的場景是可能的。例如,您可能需要在頁眉和頁腳部分添加圖像、表格或僅一些文本。此外,有時標題頁上的頁眉和頁腳與其他頁面不同。有時頁眉和頁腳在偶數頁碼和奇數頁碼上不同。因此,我們創建了一個在 Word 文檔中添加頁眉和頁腳的簡潔基本示例。

在這裡,我們將在標題頁(第一頁)上插入不同的頁眉頁腳,並在後續頁面上插入不同的頁眉頁腳。然而,第二頁將有一個自定義頁眉頁腳,包括圖像、文本和表格元素。您需要按照以下步驟使用 Java 在 word 文檔 (DOCX/DOC) 中添加或插入頁眉和頁腳。

  1. 初始化 DocumentDocumentBuilder 類對象
  2. 指定標題頁需要不同的頁眉頁腳
  3. 設置標題文本的字體屬性
  4. 創建頁眉和後續頁面
  5. 插入表格並設置頁碼格式
  6. 保存輸出 DOCX 文件

以下代碼基於這些步驟,展示瞭如何使用 Java 以編程方式在 Word 文檔 (DOCX/DOC) 中添加頁眉和頁腳:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();

// 指定我們是否希望第一頁的頁眉/頁腳與其他頁面不同。
// 您還可以使用 PageSetup.OddAndEvenPagesHeaderFooter 屬性來指定
// 奇數頁和偶數頁的不同頁眉/頁腳。
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- 為第一頁創建頁眉。 ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// 設置標題文本的字體屬性。
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// 指定第一頁的頁眉標題。
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- 為第一頁以外的頁面創建頁眉。 ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// 將絕對定位的圖像插入標題的上/左角。
// 距頁面上/左邊緣的距離設置為 10 磅。
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// 為其他頁面指定另一個頁眉標題。
builder.write("Aspose.Words Header/Footer Creation");

// --- 為第一頁以外的頁面創建頁腳。 ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// 我們使用帶有兩個單元格的表格使行中的一部分文本(帶有頁碼)
// 左對齊,文本的另一部分(有版權)右對齊。
builder.startTable();

// 清除表格邊框
builder.getCellFormat().clearFormatting();

builder.insertCell();
// 將第一個單元格設置為頁面寬度的 1/3。
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// 在此處插入頁碼文本。
// 它使用 PAGE 和 NUMPAGES 字段來自動計算當前頁碼和總頁數。
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// 將此文本向左對齊。
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// 將第二個單元格設置為頁面寬度的 2/3。
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");

// 將此文本右對齊。
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

builder.endRow();
builder.endTable();

builder.moveToDocumentEnd();
// 進行分頁以創建第二頁,在該頁上可以看到主要的頁眉/頁腳。
builder.insertBreak(BreakType.PAGE_BREAK);

// 保存生成的文檔。
doc.save(dataDir + "HeaderFooter_Out.docx");

至此我們已經學習瞭如何在word文件中添加或插入頁眉和頁腳。下面是通過“打印預覽”選項查看輸出結果的屏幕截圖。

當您的應用程序處理不同的 DOC/DOCX 文檔時,您要在其中添加一些內容作為輸出文檔的頁眉頁腳時,此功能會有很大幫助。

添加或刪除頁眉頁腳

讓我們繼續檢查從 MS Word 文件 (DOCX/DOC) 中刪除頁眉和頁腳。

使用 Java 刪除 Word 文檔 (DOCX/DOC) 的頁眉和頁腳

您可以使用 Aspose.Words for Java API 刪除 word 文檔的頁眉和頁腳。如上所述,可以在文檔中添加三種不同類型的頁眉和頁腳。例如,在標題頁、偶數頁和奇數頁碼上。您只需按照以下步驟即可刪除 word 文件中的所有頁眉和頁腳:

  1. 加載源 DOCX/DOC 文件
  2. 在扉頁、偶數頁碼和奇數頁碼上查找頁眉和頁腳
  3. 找到時刪除所需的部分
  4. 保存輸出 DOCX 文件

下面的代碼遵循這些步驟並顯示如何使用 Java 刪除 word 文檔中的頁眉和頁腳:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 一個節中最多可以有三個不同的頁眉頁腳(第一頁、偶數頁和奇數頁)。
	// 我們檢查並刪除所有這些。
	HeaderFooter footer;
        HeaderFooter header;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
        
        
	if (footer != null)
		footer.remove();
        
        	if (header != null)
		header.remove();

	// 主頁眉頁腳用於奇數頁。
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();
        
        header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
        
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}

doc.save(dataDir + "RemoveHeaderFooter_Out.docx");

使用 Java 從 Word 文檔 (DOCX/DOC) 中刪除頁腳

我們已經討論瞭如何從 word 文件中刪除或刪除頁眉和頁腳。但是,您可能只想刪除 Word 文檔的頁腳,同時保留頁眉。這些要求很容易通過以下步驟實現:

  1. 加載源字文件 (DOCX/DOC)
  2. 遍歷word文檔的每個Section
  3. 初始化 HeaderFooter 對象
  4. 從輸入文件中刪除頁腳
  5. 保存更新的 DOCX/DOC 文件

以下代碼片段解釋瞭如何使用 Java 從 word 文檔中刪除頁腳:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 一個節中最多可以有三個不同的頁腳(第一頁、偶數頁和奇數頁)。
	// 我們檢查並刪除所有這些。
	HeaderFooter footer;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
	if (footer != null)
		footer.remove();

	// 主頁腳是用於奇數頁的頁腳。
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
}
doc.save(dataDir + "RemoveFooters.docx");

使用 Java 從 Word 文檔 (DOCX/DOC) 中刪除頁眉

由於我們已經學會了僅從 MS Word 文件中刪除或刪除頁腳。讓我們進一步探討這個步驟,您可能只需要從 Word 文檔中刪除標題。頁腳將保持不變且不受影響,因為我們這裡的重點是僅刪除頁眉。以下步驟概述了為此目的而採用的程序:

  1. 加載輸入 Word 文件 (DOCX/DOC)
  2. 初始化 HeaderFooter 類的一個實例
  3. 從輸入文檔的所有部分中刪除標題
  4. 保存更新 DOCX 文件

下面的代碼顯示瞭如何使用 Java 從 word 文檔中刪除或刪除標題:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// 一個節中最多可以有三個不同的頁腳(第一頁、偶數頁和奇數頁)。
	// 我們檢查並刪除所有這些。
	HeaderFooter header;

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
	if (header != null)
		header.remove();

	// 主頁腳是用於奇數頁的頁腳。
	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}
doc.save(dataDir + "RemoveHeader.docx");

結論

在 Word 文檔中添加、插入、刪除或刪除頁眉和頁腳是文字處理的一個非常重要且頻繁的用例。幾乎所有文檔都包含頁眉和頁腳,可以根據您的要求使用 Aspose.Words for Java API 對其進行操作。本文概述了相關功能,您可以通過 免費支持論壇 與我們討論任何自定義用例和要求。如有任何疑問和疑慮,請隨時與我們聯繫。

也可以看看