Word处理控件Aspose.Words功能演示:使用 Java 在 Word 文档中添加或删除页眉和页脚

在本文中,我们将学习如何添加或删除页眉和页脚。以下是我们将详细探讨的主题:

页眉和页脚通常用于文档中以显示页码、主题、章节等重要信息。您可以使用 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) 中添加或插入页眉和页脚。

  1. 初始化Document和DocumentBuilder类对象
  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();// Specify if we want headers/footers of the first page to be different from other pages.// You can also use PageSetup.OddAndEvenPagesHeaderFooter property to specify// different headers/footers for odd and even pages.pageSetup.setDifferentFirstPageHeaderFooter(true);// --- Create header for the first page. ---pageSetup.setHeaderDistance(20);builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);// Set font properties for header text.builder.getFont().setName("Arial");builder.getFont().setBold(true);builder.getFont().setSize(14);// Specify header title for the first page.builder.write("Aspose.Words Header/Footer Creation - Title Page.");// --- Create header for pages other than first. ---pageSetup.setHeaderDistance(20);builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);// Insert absolutely positioned image into the top/left corner of the header.// Distance from the top/left edges of the page is set to 10 points.String imageFileName = dataDir + "Aspose.Words.gif";builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);// Specify another header title for other pages.builder.write("Aspose.Words Header/Footer Creation");// --- Create footer for pages other than first. ---builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);// We use table with two cells to make one part of the text on the line (with page numbering)// to be aligned left, and the other part of the text (with copyright) to be aligned right.builder.startTable();// Clear table bordersbuilder.getCellFormat().clearFormatting();builder.insertCell();// Set first cell to 1/3 of the page width.builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));// Insert page numbering text here.// It uses PAGE and NUMPAGES fields to auto calculate current page number and total number of pages.builder.write("Page ");builder.insertField("PAGE", "");builder.write(" of ");builder.insertField("NUMPAGES", "");// Align this text to the left.builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);builder.insertCell();// Set the second cell to 2/3 of the page width.builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");// Align this text to the right.builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);builder.endRow();builder.endTable();builder.moveToDocumentEnd();// Make page break to create a second page on which the primary headers/footers will be seen.builder.insertBreak(BreakType.PAGE_BREAK);// Save the resulting document.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()) {// Up to three different header footers are possible in a section (for first, even and odd pages).// We check and delete all of them.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();// Primary header footer is used for odd pages.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()) {// Up to three different footers are possible in a section (for first, even and odd pages).// We check and delete all of them.HeaderFooter footer;footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);if (footer != null)footer.remove();// Primary footer is the footer used for odd pages.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()) {// Up to three different footers are possible in a section (for first, even and odd pages).// We check and delete all of them.HeaderFooter header;header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);if (header != null)header.remove();// Primary footer is the footer used for odd pages.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");

以上便是使用 Java 在 Word 文档中添加或删除页眉和页脚详细步骤,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。


欢迎下载|体验更多Aspose产品

点此获取更多Aspose产品信息 或 加入Aspose技术交流群(
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2023年1月1日
下一篇 2023年1月1日

相关推荐

发表回复

登录后才能评论