首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java XWPF word -在新文档中创建书签

java XWPF word -在新文档中创建书签
EN

Stack Overflow用户
提问于 2017-11-08 15:02:05
回答 1查看 1.7K关注 0票数 0

在XWPF word文档中,有许多用于读取和编辑/替换书签的示例。但是我想要创建一个文档并创建新的书签。创建文档--没有问题:

代码语言:javascript
复制
private void createWordDoc() throws IOException {
    XWPFDocument document = new XWPFDocument();
    File tempDocFile = new File(pathName+"\\temp.docx");
    FileOutputStream out = new FileOutputStream(tempDocFile);
    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("testing string ");
    document.write(out);
    out.close();
    }

如何在文本“测试字符串”上做书签?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-08 15:49:55

到目前为止,这还没有在apache poi的高级类中实现。因此,需要低水平的CTPCTBookmark

示例:

代码语言:javascript
复制
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.*;

import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark;

import java.math.BigInteger;

public class CreateWordBookmark {

 public static void main(String[] args) throws Exception {

  XWPFDocument document = new XWPFDocument();

  XWPFParagraph paragraph = document.createParagraph();

  //bookmark before the run
  CTBookmark bookmark = paragraph.getCTP().addNewBookmarkStart();
  bookmark.setName("before_testing_string");
  bookmark.setId(BigInteger.valueOf(0));
  paragraph.getCTP().addNewBookmarkEnd().setId(BigInteger.valueOf(0));

  //bookmark the run
  bookmark = paragraph.getCTP().addNewBookmarkStart();
  bookmark.setName("testing_string");
  bookmark.setId(BigInteger.valueOf(1));

  XWPFRun run = paragraph.createRun();
  run.setText("testing string ");

  paragraph.getCTP().addNewBookmarkEnd().setId(BigInteger.valueOf(1));

  //bookmark after the run
  bookmark = paragraph.getCTP().addNewBookmarkStart();
  bookmark.setName("after_testing_string");
  bookmark.setId(BigInteger.valueOf(2));
  paragraph.getCTP().addNewBookmarkEnd().setId(BigInteger.valueOf(2));

  document.write(new FileOutputStream("CreateWordBookmark.docx"));
  document.close();

 }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47182971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档