JAVA 替换、复制和移除Word书签内容

 时间:2024-10-29 07:58:18

在Word中添加书签有助于我们下次更加方便的浏览文档,通过书签可以很方便地修改、复制或移除Word的内容。本篇经验将介绍在Java中替换、复制和移除Word书签内容。

工具/原料

 Free Spire.Doc for Java 2.0.0(免费版)

 Intellij IDEA

Jar包文件导入:

1、首先,获取jar包。Step 1: 下载控件包之后解压,打开“Project Structure”界面。(以下是两种在IDEA中快速打开Project Structure界面的方式:①file->Project Structure ②Shift+Ctrl+Alt+S快捷键进入‘Project Structure’。可选其中任意一种)

2、Step 2:按以下操作步骤进行导入。① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击”Apply”/”OK”;④ 导入完成。如下图:

JAVA 替换、复制和移除Word书签内容

3、测试文档:

JAVA 替换、复制和移除Word书签内容

3、复制书签内容import com.spire.doc.*;import com.spire.蟠校盯昂doc.documents.*;public class copyBookmarkContent { public static void main(String[] args) { String input = "data/Sample1.docx"; String output = "output/copyBookmarkContent.docx"; //从硬盘上加载文件 Document doc = new Document(); doc.loadFromFile(input); //获取书签名 Bookmark bookmark = doc.getBookmarks().get("我的书签"); DocumentObject docObj = null; If (((Paragraph) bookmark.getBookmarkStart().getOwner()).isInCell()) { docObj = bookmark.getBookmarkStart().getOwner().getOwner().getOwner().getOwner(); } else { docObj = bookmark.getBookmarkStart().getOwner(); } int startIndex = doc.getSections().get(0).getBody().getChildObjects().indexOf(docObj); if (((Paragraph) bookmark.getBookmarkEnd().getOwner()).isInCell()) { docObj = bookmark.getBookmarkEnd().getOwner().getOwner().getOwner().getOwner(); } else { docObj = bookmark.getBookmarkEnd().getOwner(); } int endIndex = doc.getSections().get(0).getBody().getChildObjects().indexOf(docObj); //获取这个段落中的书签对象的start和end索引 Paragraph para = (Paragraph) bookmark.getBookmarkStart().getOwner(); int pStartIndex = para.getChildObjects().indexOf(bookmark.getBookmarkStart()); para = (Paragraph) bookmark.getBookmarkEnd().getOwner(); int pEndIndex = para.getChildObjects().indexOf(bookmark.getBookmarkEnd()); //获取当前书签的内容并复制 TextBodySelection select = new TextBodySelection(doc.getSections().get(0).getBody(), startIndex, endIndex, pStartIndex, pEndIndex); TextBodyPart body = new TextBodyPart(select); for (int i = 0; i < body.getBodyItems().getCount(); i++) { doc.getSections().get(0).getBody().getChildObjects().add(body.getBodyItems().get(i).deepClone()); } //保存文件 doc.saveToFile(output, FileFormat.Docx); }}

4、复制结果:

JAVA 替换、复制和移除Word书签内容
  • 怎么在鼎捷云管家提交问题单
  • chrome浏览器设置并行下载提高默认下载器速度
  • java根据IP怎么判断是否同一网段
  • 怎样使用VBA文件定时自我删除?
  • 谷歌浏览器如何设置显示鼠标手势提示?
  • 热门搜索
    如何做简历 柳江古镇旅游攻略 如何创建网站 iphone怎么导入视频 如何除螨虫 192.168.0.1路由器 电脑如何设置自动关机 微信发朋友圈不带图片怎么发 word里面怎么画图 平方毫米符号怎么打