本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本、图片、表格等替换原有书签处的内容。

https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html

word---插入---书签

使用工具:Free Spire.Doc for Java (免费版)

Jar文件获取及导入:

方法1通过官网下载jar文件包。下载后,解压文件。并将lib文件夹下的Spire.Doc.jar文件导入到java程序。参考如下导入效果:

方法2可通过maven仓库安装导入。可参考安装导入方法。

引入哪个版本可以用浏览器打来http://repo.e-iceblue.cn/repository/maven-public/查看http://repo.e-iceblue.cn/service/rest/repository/browse/maven-public/e-iceblue/spire.doc.free/下面的版本引用即可

pom.xml中:

假如引入的<artifactId>spire.doc</artifactId>没有.free导出的word文档中会有一行提示Evaluation Warning: The document was created with Spire.Doc for JAVA.;

应该改为<artifactId>spire.doc.free</artifactId>

<repositories><repository><id>com.e-iceblue</id><url>http://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories><dependencies><dependency><groupId> e-iceblue </groupId><artifactId>spire.doc.free</artifactId><version>3.9.0</version></dependency><dependencies>

Java代码示例

【示例1】用文本替换书签

import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;public class ReplaceBookmarkContentWithNewContent {public static void main(String[]args){//加载包含书签的Word文档Document doc = new Document();doc.loadFromFile("test.docx");//定位到指定书签位置BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);bookmarksNavigator.moveToBookmark("bookmark1");//用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致bookmarksNavigator.replaceBookmarkContent("新文本内容!",true);//保存文档doc.saveToFile("replaceWithNewContent.docx",FileFormat.Docx_2013);doc.dispose();}
}

替换效果:

【示例2】用图片替换书签

import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextBodyPart;public class ReplaceBookmarkWithImg {public static void main(String[]args){//加载包含书签的文档Document doc = new Document();doc.loadFromFile("test.docx");//定位到指定书签位置BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);bookmarksNavigator.moveToBookmark("bookmark1");//添加图片,替换原有书签内容Paragraph para= new Paragraph(doc);para.appendPicture("eth.png");TextBodyPart bodyPart = new TextBodyPart(doc);bodyPart.getBodyItems().add(para);bookmarksNavigator.replaceBookmarkContent(bodyPart);//保存文档doc.saveToFile("replaceWithImg.docx",FileFormat.Docx_2013);doc.dispose();}
}

替换效果:

【示例3】用表格替换书签

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;public class ReplaceBookmarkContentWithTable {public static void main(String[]args){//加载包含书签的Word文档Document doc = new Document();doc.loadFromFile("test.docx");//声明数组内容String[][] data ={new String[]{"分类", "等级", "编号"},new String[]{"A", "一级", "01A"},new String[]{"B", "二级", "02B"},new String[]{"C", "三级", "03C"},};//创建表格Table table = new Table(doc, true);table.resetCells(4, 3);for (int i = 0; i < data.length; i++) {TableRow dataRow = table.getRows().get(i);for (int j = 0; j < data[i].length; j++) {TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);range.getCharacterFormat().setFontName("楷体");dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center);dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);}}//创建TextBodyPart对象TextBodyPart bodyPart= new TextBodyPart(doc);bodyPart.getBodyItems().add(table);//定位到指定书签位置BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);bookmarkNavigator.moveToBookmark("bookmark1");//使用表格替换原书签的内容bookmarkNavigator.replaceBookmarkContent(bodyPart);//保存文档doc.saveToFile("replaceWithTable.docx", FileFormat.Docx);doc.dispose();}
}

替换效果:

=============================== 重点问题================================

如果模板是放在项目下面的,打成jar包之后模板的目录可能会跟开发环境的不一致,会导致在开发的时候能正常使用,打jar包运行后报错的问题:

解决办法一、将模板踢出到项目外,引用项目外的路径

解决办法二、网上找解决路径打包后获取模板路径

Java 操作Word书签(三):用文本、图片、表格替换书签相关推荐

  1. java操作word,添加页眉,页眉图片,替换书签,添加水印(全)

    java操作word文档,添加页眉文本,页眉图片,替换书签,水印 原模板截图: 生成后的文档效果截图: 第一步:引入maven <dependency><groupId>spi ...

  2. java操作word

    前言 使用java操作word使用的是java开源项目docx4j,在学习docx的使用过程中,参考了大牛的链接,下面放上我参考过的网址: http://blog.csdn.net/zhyh1986/ ...

  3. Java操作word模板文件

    关于导出word文档,之前想过用ireport但模板文件比较复杂不容易画.所以采取了Java操作word文件,替换word中的元素方法 模板文件如下 单位名称:$ACCTNAME$ NO: $SN$ ...

  4. Java操作word文档将docx转换为pdf格式

    Java操作word文档将docx转换为pdf格式 一.整体说明 在上传 Office 课件时,格式有:doc,docx,xls,xlsx,ppt,pptx,程序需要将其 转换成 pdf 格式, 才能 ...

  5. Java操作word文件的工具选择

    Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...

  6. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

  7. java操作word文档(文字,图片,表格添加以及替换操作)

    注:本文由于个人工作需要,有对多个他人博文进行借鉴,但是多数博文都只是讲到了小部分,例如图片/表格的操作,都只有根据书签进行替换,比较片面,本人有总结到根据文字进行图片/表格的替换,希望可以帮到更多有 ...

  8. java openxml 操作 word,(三)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之html转word...

    (三).JAVA基于OPENXML的word文档插入.合并.替换操作系列之html转word 系列笔记传送门 富文本转word文档 准备待转换内容 内容清理与格式化 转换成word文档 输出结果展示 ...

  9. Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  10. Java 读取Word批注中的文本和图片

    本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.下面将通过Java代码来演示如何读取批注. **工具使用:**Word类库(Free Spire.Doc for Java 免费版 ...

最新文章

  1. 下载 NCBI sra 文件
  2. Shell 与Python的交互
  3. python3 split()函数
  4. java button不显示_这段JAVA程序怎么不显示button等控件啊
  5. python语句大全input_input提示文字 Python基础输入函数,if-else语句,if-elif
  6. 解决GD中文乱码问题
  7. 二维码批量生成下载工具
  8. python从入门到精通 明日科技 电子书-python从入门到项目实践 (明日科技) 配套视频教程+源码...
  9. 数据探索很麻烦?推荐一款史上最强大的特征分析可视化工具:yellowbrick
  10. 压力测试-Jmeter
  11. 怎么用手机修改图片大小?在线修改图片的方法?
  12. LAB,RGB,CMYK区别
  13. 导入和导出requirement
  14. 计算机 常用的逻辑运算有哪些,常用布尔逻辑运算符有哪些
  15. Access to XMLHttpRequest at ‘http127.0.0.18000server‘ from origin ‘http127.0.0.15500‘ has
  16. 解决Ubuntu终端里面显示路径名称太长
  17. 2021互联网人开年平均薪资才15000!
  18. 汉字五行 五格五行 喜用神
  19. 局域网网上邻居无法访问问题的解决
  20. mysql meb物理备份脚本

热门文章

  1. 【DS3231 RTC实时时钟模块与Arduino接口构建数字时钟】
  2. C#使用TCP/UDP协议通信并用Wireshark抓包分析数据
  3. 手把手教你DosBox的配置(附下载资源)
  4. 农业大数据中心建设可行性方案
  5. Excel可视化图表模板,图表控的你快收藏呀!!!
  6. 推荐一款UI非常Good的 Redis 客户端工具
  7. Appium Desktop下载
  8. 胶东机场t1离哪个停车场近,青岛胶东国际机场停车场攻略
  9. 清除docker镜像缓存
  10. [转载]KL距离(相对熵)