Java 操作Word书签(三):用文本、图片、表格替换书签
本篇文章将继续介绍通过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书签(三):用文本、图片、表格替换书签相关推荐
- java操作word,添加页眉,页眉图片,替换书签,添加水印(全)
java操作word文档,添加页眉文本,页眉图片,替换书签,水印 原模板截图: 生成后的文档效果截图: 第一步:引入maven <dependency><groupId>spi ...
- java操作word
前言 使用java操作word使用的是java开源项目docx4j,在学习docx的使用过程中,参考了大牛的链接,下面放上我参考过的网址: http://blog.csdn.net/zhyh1986/ ...
- Java操作word模板文件
关于导出word文档,之前想过用ireport但模板文件比较复杂不容易画.所以采取了Java操作word文件,替换word中的元素方法 模板文件如下 单位名称:$ACCTNAME$ NO: $SN$ ...
- Java操作word文档将docx转换为pdf格式
Java操作word文档将docx转换为pdf格式 一.整体说明 在上传 Office 课件时,格式有:doc,docx,xls,xlsx,ppt,pptx,程序需要将其 转换成 pdf 格式, 才能 ...
- Java操作word文件的工具选择
Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...
- java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...
Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...
- java操作word文档(文字,图片,表格添加以及替换操作)
注:本文由于个人工作需要,有对多个他人博文进行借鉴,但是多数博文都只是讲到了小部分,例如图片/表格的操作,都只有根据书签进行替换,比较片面,本人有总结到根据文字进行图片/表格的替换,希望可以帮到更多有 ...
- java openxml 操作 word,(三)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之html转word...
(三).JAVA基于OPENXML的word文档插入.合并.替换操作系列之html转word 系列笔记传送门 富文本转word文档 准备待转换内容 内容清理与格式化 转换成word文档 输出结果展示 ...
- Java 操作Word书签(一):添加、删除、读取书签
Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...
- Java 读取Word批注中的文本和图片
本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.下面将通过Java代码来演示如何读取批注. **工具使用:**Word类库(Free Spire.Doc for Java 免费版 ...
最新文章
- 下载 NCBI sra 文件
- Shell 与Python的交互
- python3 split()函数
- java button不显示_这段JAVA程序怎么不显示button等控件啊
- python语句大全input_input提示文字 Python基础输入函数,if-else语句,if-elif
- 解决GD中文乱码问题
- 二维码批量生成下载工具
- python从入门到精通 明日科技 电子书-python从入门到项目实践 (明日科技) 配套视频教程+源码...
- 数据探索很麻烦?推荐一款史上最强大的特征分析可视化工具:yellowbrick
- 压力测试-Jmeter
- 怎么用手机修改图片大小?在线修改图片的方法?
- LAB,RGB,CMYK区别
- 导入和导出requirement
- 计算机 常用的逻辑运算有哪些,常用布尔逻辑运算符有哪些
- Access to XMLHttpRequest at ‘http127.0.0.18000server‘ from origin ‘http127.0.0.15500‘ has
- 解决Ubuntu终端里面显示路径名称太长
- 2021互联网人开年平均薪资才15000!
- 汉字五行 五格五行 喜用神
- 局域网网上邻居无法访问问题的解决
- mysql meb物理备份脚本