Apache POI 5.2.2 版本更新:修复 Word 文档书签操作错误
Apache POI 5.2.2 版本更新:修复 Word 文档书签操作错误
在 Apache POI 版本 5.2.2 中,CTBookmark 类的方法已经发生了变化。您需要使用 getBookmarkStartList() 方法来获取书签的起始位置。以下是修改后的代码:
// 获取书签的内容
public static String getBookmarkContent(XWPFDocument doc, String bookmarkName) {
for (XWPFParagraph paragraph : doc.getParagraphs()) {
for (XWPFRun run : paragraph.getRuns()) {
for (CTBookmark bookmark : run.getCTR().getBookmarkStartList()) {
if (bookmark.getName().equals(bookmarkName)) {
return run.getText(0);
}
}
}
}
return null;
}
// 替换书签的内容
public static void replaceBookmarkContent(XWPFDocument doc, String bookmarkName, String content) {
for (XWPFParagraph paragraph : doc.getParagraphs()) {
for (XWPFRun run : paragraph.getRuns()) {
for (CTBookmark bookmark : run.getCTR().getBookmarkStartList()) {
if (bookmark.getName().equals(bookmarkName)) {
run.setText(content, 0);
}
}
}
}
}
请注意,此修改适用于 Apache POI 版本 5.2.2 及更高版本。如果您使用的是较早的版本,请参考相应版本的 API 文档来获取正确的方法。
原文地址: https://www.cveoy.top/t/topic/fL9d 著作权归作者所有。请勿转载和采集!