写点什么

Java:在 Word 文档中添加或删除页眉页脚

作者:Geek_249eec
  • 2022 年 8 月 19 日
    四川
  • 本文字数:3486 字

    阅读完需:约 11 分钟

Word 中的页眉和页脚通常用显示文档的附加信息,如主题、页码或文档的文案等。在这篇文章中,我将分别介绍如何使用Free Spire.Doc for Java为 Word 文档添加和删除页眉和页脚。

 

 

安装 Spire.Doc.Jar

方法一:

如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 JAR 文件导入到应用程序中。

<repositories>

    <repository>

        <id>com.e-iceblue</id>

        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

    </repository>

</repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.doc.free</artifactId>

        <version>5.2.0</version>

    </dependency>

</dependencies>

 

方法二:

如果您没有使用 maven,则可以此链接下载 Free Spire.Doc for Java,找到 lib 文件夹下的 Spire.Doc.jar 并进行解压;然后在 IDEA 中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR 文件或路径”(JARs or Directories),找到解压后的 Spire.Doc.jar 文件,点击确认,将其导入到项目中。

 

为 Word 文档添加页眉和页脚

Free Spire.Doc for Java 支持将文本、图像和页码等添加到 Word 文档中作为页眉或页脚。

  • 使用 Document.loadFromFile() 方法创建一个 Document 实例并加载一个 Word 示例文档。

  • 使用 Document.getSections().get() 方法获取第一节。

  • 使用 section.getHeadersFooters().getHeader() 方法获取页眉,并使用 section.getHeadersFooters().getFooter() 方法获取页脚。

  • 使用 header.addParagraph() 方法将段落添加到页眉。

  • 使用 headerParagraph.appendPicture() 方法将图像插入页眉,并设置图像的位置。

  • 使用 headerParagraph.appendText() 方法将文本插入页眉,并设置文本格式。

  • 使用 footer.addParagraph() 方法将段落添加到页脚。

  • 使用 footerParagraph.appendField()方法将 Field_Page 域和 Field_Num_Pages 域添加到页脚段落中,并为其设置格式。

  • 使用 Document.saveToFile() 方法将文档保存到另一个文件。


import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.DocPicture;import com.spire.doc.fields.TextRange;

public class insertHeaderFooter { public static void main(String[] args) throws Exception {
//创建一个 Document 实例 Document document = new Document();
//加载一个Word示例文档 document.loadFromFile("Sample.docx"); //获取第一节 Section section = document.getSections().get(0);
//通过insertHeaderAndFooter方法为节添加页眉页脚 insertHeaderAndFooter(section);
//将文档保存到另一个文件 document.saveToFile("output/HeaderAndFooter.docx", FileFormat.Docx); }
private static void insertHeaderAndFooter(Section section) {
//从节中获取页眉页脚 HeaderFooter header = section.getHeadersFooters().getHeader(); HeaderFooter footer = section.getHeadersFooters().getFooter();
//将段落添加到页眉 Paragraph headerParagraph = header.addParagraph();
//将图像插入页眉并设置图像的位置 DocPicture headerPicture = headerParagraph.appendPicture("成都.jpg"); headerPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Left); headerPicture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area); headerPicture.setVerticalAlignment(ShapeVerticalAlignment.Bottom);
//将文本插入页眉 TextRange text = headerParagraph.appendText("世界大学生运动会"); text.getCharacterFormat().setFontName("Arial"); text.getCharacterFormat().setFontSize(10); text.getCharacterFormat().setItalic(true); headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
//设置文本环绕方式 headerPicture.setTextWrappingStyle(TextWrappingStyle.Behind);
//设置页眉段落的底部边框样式 headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single); headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f);
//调整页眉距离 section.getPageSetup().setHeaderDistance(100);
//将段落添加到页脚 Paragraph footerParagraph = footer.addParagraph();
//将Field_Page域和Field_Num_Pages域添加到页脚段落中 footerParagraph.appendField("page number", FieldType.Field_Page); footerParagraph.appendText(" of "); footerParagraph.appendField("number of pages", FieldType.Field_Num_Pages); footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//设置页脚段落的顶部边框样式 footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single); footerParagraph.getFormat().getBorders().getTop().setLineWidth(1f);
//调整页脚距离 section.getPageSetup().setFooterDistance(70); }}
复制代码


为 Word 文档删除页眉和页脚

Word 文档中有三种类型的页眉和页脚:位于第一页、奇数页或偶数页。在这里我将演示如何使用 Free Spire.Doc for Java 删除 Word 文档中第一页、奇数页和偶数页上的所有页眉和页脚。

  • 创建 Document 实例。

  • 使用 Document.loadFromFile() 方法加载 Word 示例文档。

  • 使用 Document.getSections().get() 方法获取第一节。

  • 按 section.getHeadersFooters().getByHeaderFooterType() 方法获取所有页眉和页脚。

  • 使用 HeaderFooter.getChildObjects().clear() 方法删除所有页眉和页脚。

  • 使用 Document.saveToFile() 方法将文档保存到另一个文件。


import com.spire.doc.*;import com.spire.doc.documents.*;
public class RemoveHeaderFooter { public static void main(String[] args) throws Exception {
//创建Document实例 Document document = new Document();
//加载Word示例文档 document.loadFromFile("HeaderAndFooter.docx");
//获取第一节 Section section = document.getSections().get(0);
//删除第一页的页眉 HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page); if (header != null) header.getChildObjects().clear();
//删除奇数页的页眉 header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd); if (header != null) header.getChildObjects().clear();
//删除偶数页的页眉 header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even); if (header != null) header.getChildObjects().clear();

//删除第一页的页脚 HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page); if (footer != null) footer.getChildObjects().clear();
//删除奇数页的页脚 footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd); if (footer != null) footer.getChildObjects().clear();
//删除偶数页的页脚 footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even); if (footer != null) footer.getChildObjects().clear();

//保存结果文档 document.saveToFile("output/RemoveHeaderfooter.docx", FileFormat.Docx_2013);
}}
复制代码



用户头像

Geek_249eec

关注

还未添加个人签名 2022.07.13 加入

还未添加个人简介

评论

发布
暂无评论
Java:在Word文档中添加或删除页眉页脚_Java_Geek_249eec_InfoQ写作社区