近期做动态的word文档生成, 需要在指定XWPFRun生成书签的功能,有两种情况:
- 创建新word文档时候,直接在createRun前后调用生成书签的方法
XWPFRun oldRun = runs.get(j); CTBookmark ctBookmark = paragraph.getCTP().addNewBookmarkStart();//开始书签 ctBookmark.setId(BigInteger.valueOf(j));//开始书签和结束书签通过ID关联 ctBookmark.setName("书签"+ j);//书签名称 XWPFRun replaceRun = paragraph.createRun();//新构建XWPFRun //... paragraph.getCTP().addNewBookmarkEnd().setId(BigInteger.valueOf(j));//结束书签
- 在word模板基础上生成新文档时,在指定位置生成书签
@Test
public void testMark() throws Exception {
//新建一个文档
XWPFDocument targetDocument = new XWPFDocument();
String source = "C:\\Users\\86132\\Desktop\\test.docx";
XWPFDocument sourceDoc = new XWPFDocument(new FileInputStream(source));
Lis