这些错误是因为CTR类中不存在getBookmarkStartList()getBookmarkEndList()方法。要复制书签内容,可以使用XWPFRun类的getCTR()方法来获取CTR对象,然后使用CTR对象的getBookmarkStartArray()getBookmarkEndArray()方法来获取书签的起始和结束标记。以下是修改后的代码:

private static void copyBookmarks(XWPFDocument sourceDocument, XWPFDocument targetDocument) {
    for (XWPFParagraph paragraph : sourceDocument.getParagraphs()) {
        for (XWPFRun run : paragraph.getRuns()) {
            CTR ctr = run.getCTR();

            // 复制书签的内容
            if (ctr.getBookmarkStartArray().length > 0 && ctr.getBookmarkEndArray().length > 0) {
                String bookmarkName = ctr.getBookmarkStartArray(0).getName();
                XWPFParagraph targetParagraph = targetDocument.createParagraph();
                XWPFRun targetRun = targetParagraph.createRun();
                targetRun.setText(run.getText(0));
                targetRun.addBreak();
                targetRun.setText(bookmarkName);
            }
        }
    }
}

请注意,这只是复制书签内容的一种方法,具体取决于你的需求和文档结构。你可能需要根据自己的情况进行适当的修改。

package word;import orgapachepoiopenxml4jopcOPCPackage;import orgapachepoixwpfusermodelXWPFDocument;import orgapachepoixwpfusermodelXWPFParagraph;import orgapachepoixwpfusermodelXWPFRun;import orgopen

原文地址: https://www.cveoy.top/t/topic/h1W5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录