頁眉和頁腳通常用於文檔中以顯示頁碼、主題、章節等重要信息。您可以在 Word 文檔 DOCX DOC 中添加、插入、刪除或刪除頁眉和頁腳,使用您的 Java 應用程序。在本文中,我們將學習如何添加或刪除頁眉和頁腳。以下是我們將詳細探討的主題:
- 插入或刪除頁眉和頁腳 API – 安裝
- 使用 Java 在 Word 文檔 (DOCX/DOC) 中添加頁眉和頁腳
- 使用 Java 刪除 Word 文檔 (DOCX/DOC) 的頁眉和頁腳
- 使用 Java 從 Word 文檔 (DOCX/DOC) 中刪除頁腳
- 使用 Java 從 Word 文檔 (DOCX/DOC) 中刪除頁眉
插入或刪除頁眉頁腳 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) 中添加或插入頁眉和頁腳。
- 初始化 Document 和 DocumentBuilder 類對象
- 指定標題頁需要不同的頁眉頁腳
- 設置標題文本的字體屬性
- 創建頁眉和後續頁面
- 插入表格並設置頁碼格式
- 保存輸出 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 文件中的所有頁眉和頁腳:
- 加載源 DOCX/DOC 文件
- 在扉頁、偶數頁碼和奇數頁碼上查找頁眉和頁腳
- 找到時刪除所需的部分
- 保存輸出 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 文檔的頁腳,同時保留頁眉。這些要求很容易通過以下步驟實現:
- 加載源字文件 (DOCX/DOC)
- 遍歷word文檔的每個Section
- 初始化 HeaderFooter 對象
- 從輸入文件中刪除頁腳
- 保存更新的 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 文檔中刪除標題。頁腳將保持不變且不受影響,因為我們這裡的重點是僅刪除頁眉。以下步驟概述了為此目的而採用的程序:
- 加載輸入 Word 文件 (DOCX/DOC)
- 初始化 HeaderFooter 類的一個實例
- 從輸入文檔的所有部分中刪除標題
- 保存更新 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 對其進行操作。本文概述了相關功能,您可以通過 免費支持論壇 與我們討論任何自定義用例和要求。如有任何疑問和疑慮,請隨時與我們聯繫。