Word 文档的页眉和页脚分别位于文档页面的顶部和底部,用于显示页码、文档标题和作者等信息。但当需要打印文档或共享文档时,可能需要删除这些信息以保护隐私。此外,页眉和页脚会占用打印纸上宝贵的空间,并且可能会干扰文档的整体格式。删除页眉页脚可以腾出页面空间,并确保文档格式不会因其变得混乱。本文将演示如何使用 Spire.Doc for Java 在 Java 程序中删除 Word 文档的页眉和页脚。
安装 Spire.Doc for Java
首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。您可以从此链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>12.9.0</version>
</dependency>
</dependencies>
Java 按类型删除页眉页脚
在 Word 文档中,可以为首页、奇数页和偶数页设置不同的页眉和页脚。这些页眉页脚类型可以通过 HeaderFooter.getByHeaderFooterType(hfType) 方法获取,并通过 HeaderFooter.getChildObjects().clear() 方法删除。
以下是枚举及其代表的页眉和页脚类型的列表。
枚举 | 描述 |
HeaderFooterType.Header_First_Page | 代表首页页眉。 |
HeaderFooterType.Footer_First_Page | 代表首页页脚。 |
HeaderFooterType.Header_Odd | 代表奇数页页眉。 |
HeaderFooterType.Footer_Odd | 代表奇数页页脚。 |
HeaderFooterType.Header_Even | 代表偶数页页眉。 |
HeaderFooterType.Footer_Even | 代表偶数页页脚。 |
以下是详细操作步骤:
- 创建一个 Document 类对象。
- 使用 Doucment.loadFromFile() 方法载入 Word 文档。
- 使用 Document.getSections().get() 方法获取文档的第一节。
- 使用 Section.getHeadersFooters().getByHeaderFooterType() 方法获取首页页眉,并使用 HeaderFooter.getChildObjects().clear() 方法将其移除。
- 使用相同的方法移除第一页页脚。奇数页和偶数页的页眉和页脚也可以用相同的方法移除。
- 使用 Document.saveToFile() 方法保存文档。
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.HeaderFooterType;
public class removeHeaderFooter {
public static void main(String[] args) {
//创建一个Document类的对象
Document doc = new Document();
//载入Word文档
doc.loadFromFile("示例.docx");
//获取文档第一节
Section section = doc.getSections().get(0);
//获取首页页眉并清除其中的内容
HeaderFooter header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_First_Page);
header.getChildObjects().clear();
//获取首页页脚并清除其中的内容
HeaderFooter footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_First_Page);
footer.getChildObjects().clear();
//获取奇数页的页眉页脚并清除其中的内容
//HeaderFooter header1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Odd);
//header1.getChildObjects().clear();
//HeaderFooter footer1 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Odd);
//footer1.getChildObjects().clear();
//获取偶数页的页眉页脚并清除其中的内容
//HeaderFooter header2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Header_Even);
//header2.getChildObjects().clear();
//HeaderFooter footer2 = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.Footer_Even);
//footer2.getChildObjects().clear();
//保存文档
doc.saveToFile("按页眉页脚类型移除.docx", FileFormat.Auto);
doc.dispose();
}
}
Java 按节删除页眉页脚
不同节可能有不同的页眉页脚。要删除某个节的页眉和页脚,可以使用 Document.getSections().get() 方法获取该节,然后使用 HeaderFooter.getChildObjects().clear() 方法删除其中的页眉和页脚。
需要注意的是,删除一节中的页眉和页脚内容后,该节的页眉页脚将自动变更为上一节的页眉页脚。因此,有必要在删除页眉和页脚后添加一个空白段落,以防止其自动变更。
具体步骤如下:
- 创建一个 Document 类对象。
- 使用 Doucment.loadFromFile() 方法载入 Word 文档。
- 使用 Document.getSections().get() 方法获取文档的第二节。
- 使用 Section.getHeadersFooters().getHeader() 方法获取第二节的页眉,然后使用 HeaderFooter.getChildObjects().clear() 方法删除其中的内容,最后使用 HeaderFooter.addParagraph() 方法在其中添加一个空白段落。
- 使用 Section.getHeadersFooters().getFooter() 方法获取第二节的页脚,然后使用 HeaderFooter.getChildObjects().clear() 方法删除其中的内容,最后使用 HeaderFooter.addParagraph() 方法在其中添加一个空白段落。
- 使用 Document.saveToFile() 方法保存文档。
- Java
import com.spire.doc.Document;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
public class removeHeaderFooterSection {
public static void main(String[] args) {
//创建一个Document类的对象
Document doc = new Document();
//载入Word文档
doc.loadFromFile("示例1.docx");
//获取文档第二节
Section section = doc.getSections().get(1);
//获取该节的页眉,移除其中的内容,然后在其中添加一个空白段落
HeaderFooter header1 = section.getHeadersFooters().getHeader();
header1.getChildObjects().clear();
header1.addParagraph();
//获取该节的页脚,移除其中的内容,然后在其中添加一个空白段落
HeaderFooter footer1 = section.getHeadersFooters().getFooter();
footer1.getChildObjects().clear();
footer1.addParagraph();
//保存文档
doc.saveToFile("按节删除页眉页脚.docx");
doc.dispose();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。