我在删除书签时遇到问题。段落。
书签: SUB_1 , SUB_2 , SUB_3 , SUB_4 , SUB_5 。
循环执行后,仅删除 SUB_1,SUB_3 和 SUB_5 。
BookmarkCollection bookmarks = doc.getRange().getBookmarks();
DocumentBuilder builder = new DocumentBuilder(doc);
System.out.println(bookmarks.getCount());
for(Bookmark b : bookmarks) {
System.out.println("bookmark: " + b.getName());
builder.moveToBookmark(b.getName());
builder.getCurrentParagraph().remove();
}
输出:
10:13:10,379 INFO [stdout] 5
10:13:10,380 INFO [stdout] (EJB default - 8) bookmark: SUB_1
10:13:10,381 INFO [stdout] (EJB default - 8) bookmark: SUB_3
10:13:10,382 INFO [stdout] (EJB default - 8) bookmark: SUB_5
答案 0 :(得分:1)
您也可以使用bookmark.remove()方法删除书签,而不是将光标移动到段落,然后删除该段落。
我在Aspose担任开发人员传播者。
答案 1 :(得分:0)
我解决了我的问题。它不是很好,但它对我有用。
BookmarkCollection bookmarks = doc.getRange().getBookmarks();
DocumentBuilder builder;
try {
builder = new DocumentBuilder(doc);
while(bookmarks.getCount() > 0) {
for(Bookmark b : bookmarks) {
System.out.println("bookmark: " + b.getName());
b.setText("");
builder.moveToBookmark(b.getName());
builder.getCurrentParagraph().remove();
}
}
} catch (Exception e) {
e.printStackTrace();
logger.error("Problem with deleting bookmark");
}