使用Java和Apache POI复制Word书签内容到新文件
以下是使用Apache POI的Java代码来实现你的需求:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
    public static void main(String[] args) {
        try {
            // 打开输入文件
            FileInputStream input01 = new FileInputStream('input01.docx');
            FileInputStream input02 = new FileInputStream('input02.docx');
            FileInputStream input03 = new FileInputStream('input03.docx');
            // 创建输入文档对象
            XWPFDocument doc01 = new XWPFDocument(input01);
            XWPFDocument doc02 = new XWPFDocument(input02);
            XWPFDocument doc03 = new XWPFDocument(input03);
            // 获取输入文档中的书签
            XWPFBookmark bookmark01 = doc01.getBookmarkById('应变计书签');
            XWPFBookmark bookmark02 = doc02.getBookmarkById('位移计书签');
            // 获取书签的内容
            String content01 = bookmark01.getParagraph().getText();
            String content02 = bookmark02.getParagraph().getText();
            // 获取输出文档中的书签
            XWPFBookmark bookmark03 = doc03.getBookmarkById('应变计书签');
            XWPFBookmark bookmark04 = doc03.getBookmarkById('位移计书签');
            // 将内容复制到输出文档中的书签位置
            XWPFRun run01 = bookmark03.getParagraph().createRun();
            run01.setText(content01);
            XWPFRun run02 = bookmark04.getParagraph().createRun();
            run02.setText(content02);
            // 关闭输入文件
            input01.close();
            input02.close();
            input03.close();
            // 保存输出文档
            FileOutputStream output = new FileOutputStream('input04.docx');
            doc03.write(output);
            output.close();
            System.out.println('操作成功!');
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
请确保将'input01.docx'、'input02.docx'和'input03.docx'文件放在与Java代码相同的目录下,并将输出文件'input04.docx'保存在相同的目录下。
原文地址: https://www.cveoy.top/t/topic/fLYg 著作权归作者所有。请勿转载和采集!