1.导入所需的库和类:
import java.io.*;import org.apache.poi.xwpf.usermodel.*;
2.读取要编辑的 Word 文档:
File file = new File("path/to/your/file.docx"); FileInputStream fis = new FileInputStream(file); XWPFDocument document = new XWPFDocument(fis);
3.获取文档的第一页(或其他要删除的页):
XWPFHeaderFooterPolicy policy = document.getHeaderFooterPolicy(); XWPFHeader header = policy.getDefaultHeader();
4.删除该页:
policy.removeHeader(0);
5.保存修改后的文档:
FileOutputStream fos = new FileOutputStream(file); document.write(fos);
完整代码示例:
import java.io.*; import org.apache.poi.xwpf.usermodel.*; public class DeleteHeader { public static void main(String[] args) { try { // 读取 Word 文档 File file = new File("path/to/your/file.docx"); FileInputStream fis = new FileInputStream(file); XWPFDocument document = new XWPFDocument(fis); // 获取文档的第一页 XWPFHeaderFooterPolicy policy = document.getHeaderFooterPolicy(); XWPFHeader header = policy.getDefaultHeader(); // 删除该页 policy.removeHeader(0); // 保存修改后的文档 FileOutputStream fos = new FileOutputStream(file); document.write(fos); // 关闭文件流 fis.close(); fos.close(); System.out.println("Header deleted successfully."); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); } } }
补充说明一下,上述代码可以删除 Word 文档的默认首页,即所有页面的页眉都会被删除。如果您只想删除特定页面的页眉,可以使用 XWPFHeaderFooterPolicy
类中的 getHeader(int pageNumber)
方法获取指定页的页眉,然后再调用 removeHeader()
方法进行删除。
另外,需要注意的是,如果 Word 文档中没有页眉或页脚,则无法使用 getHeaderFooterPolicy()
方法获取文档的页眉页脚对象。在这种情况下,需要先创建一个新的页眉页脚对象,然后再调用 setHeaderFooterPolicy()
方法将其设置为文档的页眉页脚对象。以下是一个示例:
XWPFHeaderFooterPolicy policy = document.getHeaderFooterPolicy(); if (policy == null) { policy = new XWPFHeaderFooterPolicy(document); }
这段代码首先尝试获取文档的页眉页脚对象,如果获取失败,则创建一个新的页眉页脚对象并将其设置为文档的页眉页脚对象。
站长微信:xiaomao0055
站长QQ:14496453