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

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

Jar文件获取及导入:

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

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

Java代码示例

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

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BookmarksNavigator;
  3.  
  4. public class ReplaceBookmarkContentWithNewContent {
  5. public static void main(String[]args){
  6. //加载包含书签的Word文档
  7. Document doc = new Document();
  8. doc.loadFromFile("test.docx");
  9.  
  10. //定位到指定书签位置
  11. BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
  12. bookmarksNavigator.moveToBookmark("bookmark1");
  13.  
  14. //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致
  15. bookmarksNavigator.replaceBookmarkContent("新文本内容!",true);
  16.  
  17. //保存文档
  18. doc.saveToFile("replaceWithNewContent.docx",FileFormat.Docx_2013);
  19. doc.dispose();
  20. }
  21. }

替换效果:

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

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BookmarksNavigator;
  3. import com.spire.doc.documents.Paragraph;
  4. import com.spire.doc.documents.TextBodyPart;
  5.  
  6. public class ReplaceBookmarkWithImg {
  7. public static void main(String[]args){
  8. //加载包含书签的文档
  9. Document doc = new Document();
  10. doc.loadFromFile("test.docx");
  11.  
  12. //定位到指定书签位置
  13. BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
  14. bookmarksNavigator.moveToBookmark("bookmark1");
  15.  
  16. //添加图片,替换原有书签内容
  17. Paragraph para= new Paragraph(doc);
  18. para.appendPicture("eth.png");
  19. TextBodyPart bodyPart = new TextBodyPart(doc);
  20. bodyPart.getBodyItems().add(para);
  21. bookmarksNavigator.replaceBookmarkContent(bodyPart);
  22.  
  23. //保存文档
  24. doc.saveToFile("replaceWithImg.docx",FileFormat.Docx_2013);
  25. doc.dispose();
  26. }
  27. }

替换效果:

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

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.*;
  3. import com.spire.doc.fields.TextRange;
  4.  
  5. public class ReplaceBookmarkContentWithTable {
  6. public static void main(String[]args){
  7. //加载包含书签的Word文档
  8. Document doc = new Document();
  9. doc.loadFromFile("test.docx");
  10.  
  11. //声明数组内容
  12. String[][] data =
  13. {
  14. new String[]{"分类", "等级", "编号"},
  15. new String[]{"A", "一级", "01A"},
  16. new String[]{"B", "二级", "02B"},
  17. new String[]{"C", "三级", "03C"},
  18. };
  19.  
  20. //创建表格
  21. Table table = new Table(doc, true);
  22. table.resetCells(4, 3);
  23. for (int i = 0; i < data.length; i++) {
  24. TableRow dataRow = table.getRows().get(i);
  25. for (int j = 0; j < data[i].length; j++) {
  26. TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
  27. range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
  28. range.getCharacterFormat().setFontName("楷体");
  29. dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center);
  30. dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
  31. }
  32. }
  33.  
  34. //创建TextBodyPart对象
  35. TextBodyPart bodyPart= new TextBodyPart(doc);
  36. bodyPart.getBodyItems().add(table);
  37.  
  38. //定位到指定书签位置
  39. BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
  40. bookmarkNavigator.moveToBookmark("bookmark1");
  41.  
  42. //使用表格替换原书签的内容
  43. bookmarkNavigator.replaceBookmarkContent(bodyPart);
  44.  
  45. //保存文档
  46. doc.saveToFile("replaceWithTable.docx", FileFormat.Docx);
  47. doc.dispose();
  48. }
  49. }

替换效果:

(本文完)

转载请出名出处!

Java 操作Word书签(三):用文本、图片、表格替换书签的更多相关文章

  1. Java 操作Word书签(二):添加文本、图片、表格到书签内容

    在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...

  2. C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  3. Java解析word,获取文档中图片位置

    前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...

  4. [转]C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  5. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  6. java通过freemarker导出包含富文本图片的word文档

    废话不多说,进入正题! 本文重点在于:对富文本图片的导出(基础的freemarker+word模板导出这里不做详细解说哈) 参考文章:http://www.cnblogs.com/liaofeifig ...

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

    本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.关于操作Word批注的方法还可以参考这两篇文章:Java 添加.回复.修改.删除Word批注:Java 给Word指定字符串添加批 ...

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

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

  9. Java操作word文档使用JACOB和POI操作word,Excel,PPT需要的jar包

    可参考文档: http://wibiline.iteye.com/blog/1725492 下载jar包 http://download.csdn.net/download/javashixiaofe ...

随机推荐

  1. 【w、vmstat、top、sar、nload】各个命令 使用介绍

    第7周第1次课(5月7日) 课程内容: 10.1 使用w查看系统负载10.2 vmstat命令10.3 top命令10.4 sar命令10.5 nload命令 10.1 使用w查看系统负载 w命令查看 ...

  2. C# 子类与父类构造函数

  3. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(8)- 从Serial(1-bit SPI) NOR恢复启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的1-bit SPI NOR恢复启动. 在前几篇里痞子衡介绍的Boot Device都属于主动启动的 ...

  4. CSS+HTML实现移动端div左右滑动展示

    由于手机屏幕的宽度有限,内容太多移动设备一行装不下的,所以很多移动端网站的导航栏都有左右滑动效果,下面我就用CSS+HTML实现移动端div左右滑动展示. CSS:box设置文本不换行,子元素box1 ...

  5. 使用Python为中秋节绘制一块美味的月饼

    每逢佳节- 对于在外的游子,每逢佳节倍思亲.而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了.这几天各公司都陆续开始发中秋礼品了.朋友圈各种秀高颜值的月饼,所以 ...

  6. 如何对IP地址进行子网划分?

    在网络行业,子网划分是必须掌握的的基础知识点,下图是IP地址分类: 子网划分主要掌握的是划分思路,接下来我以192.168.1.72/27的IP划分做为例子: CIDR:无类域间路由. 可以看出192 ...

  7. luogu P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver |贪心+模拟

    有N (1 <= N <= 100,000)头奶牛在一个单人的超长跑道上慢跑,每头牛的起点位置都不同.由于是单人跑道,所有他们之间不能相互超越.当一头速度快的奶牛追上另外一头奶牛的时候,他 ...

  8. 移动开发在路上-- IOS移动开发 五 网络请求封装

    接着上次的讲,这次我们讲 网络请求的封装  打开创建的项目,让我们一起来继续完成他, 上次我们说到GET请求地址的拼接: 我们接着上次的继续完善: 下边我们要定义的是 block //定义block ...

  9. 移动开发在路上-- IOS移动开发系列 多线程三

    这一次说一点概念性的东西,也是为后边做一些基础 HTTP协议的基本概念 http协议的基本概念 全称“超文本传输协议”,浏览器和服务器之间的通信规则 HTTp协议永远都是客户端发起的请求,服务器回送响 ...

  10. BZOJ 3112 [Zjoi2013]防守战线

    题解:单纯形:转化为对偶问题: 对于最大化 cx,满足约束 Ax<=b ,x>0 对偶问题为 最小化 bx,满足约束 ATx>=c ,x>0 (AT为A的转置) 这一题的内存真 ...