Bootstrap

java 读取word页码

最近用poi生成word,但是目录页码始终弄了很久没有找到。然后发现aspose可以。
可以查询指定文字或者书签所在的页码,并替换。

Document doc = new Document(文件的路径);
 LayoutCollector layoutCollector = new LayoutCollector(doc);

        //需要替换的目录书签
        List<String> bookmarkList = new ArrayList<>();
        bookmarkList.add("检测结果汇总页码");
        bookmarkList.add("附录二页码");
        bookmarkList.add("保全证书的说明页码");
        //全部书签
        BookmarkCollection bms = doc.getRange().getBookmarks();
        for (String bookmark : bookmarkList) {
            //获取到所在页码
            Bookmark bm = bms.get(bookmark.substring(0,bookmark.length()-2));
            int pageNumber = layoutCollector.getEndPageIndex(bm.getBookmarkStart()) - 1;
            //进行替换
            bms.get(bookmark).setText(String.valueOf(pageNumber));

        }
        //最后保存
         doc.save(文件的路径);

然后这是总页数的代码
int pageCount = doc.getPageCount();

;