【问题标题】:Aspose Words - remove only part of bookmarksAspose Words - 仅删除部分书签
【发布时间】:2015-09-18 15:42:47
【问题描述】:

我在删除书签和段落时遇到问题。

书签:SUB_1SUB_2SUB_3SUB_4SUB_5

循环执行后,只删除SUB_1、SUB_3SUB_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

【问题讨论】:

    标签: java aspose.words


    【解决方案1】:

    您也可以使用 bookmark.remove() 方法删除书签,而不是将光标移动到段落然后删除该段落。

    我在 Aspose 担任开发布道师。

    【讨论】:

      【解决方案2】:

      我解决了我的问题。这不是很好,但它对我有用。

              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");
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-25
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多