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

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

Jar文件获取及导入:

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

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

Java代码示例

【示例1】添加图片、文本到书签

import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.fields.DocPicture; public class AddImgToBookmarkcontent {
public static void main(String[]args){
//加载包含书签的文档
Document doc = new Document();
doc.loadFromFile("test.docx"); //定位到指定书签位置起始标签位置,插入图片
BookmarksNavigator bookmarksNavigator1 = new BookmarksNavigator(doc);
bookmarksNavigator1.moveToBookmark("bookmark1",true,false);
Paragraph para = new Paragraph(doc);
DocPicture picture = para.appendPicture("eth.png");
picture.setTextWrappingStyle(TextWrappingStyle.Through);
bookmarksNavigator1.insertParagraph(para); //定位到指定书签位置末尾标签位置,插入文本
BookmarksNavigator bookmarksNavigator2 = new BookmarksNavigator(doc);
bookmarksNavigator2.moveToBookmark("bookmark1",false,true);
bookmarksNavigator2.insertText("新插入的文本!!!"); //保存文档
doc.saveToFile("addImgToBookmarkcontent.docx",FileFormat.Docx_2013);
doc.dispose();
}
}

文本、图片添加效果:

【示例2】添加表格到书签内容

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange; public class AddTableToBookmarkcontent {
public static void main(String[]args){
//加载包含书签的文档
Document doc = new Document();
doc.loadFromFile("test.docx"); //声明数组内容
String[][] data =
{
new String[]{"班级", "姓名", "学号"},
new String[]{"1班", "刘楠", "Y12534"},
new String[]{"2班", "刘莉", "Y12547"},
new String[]{"3班", "方红", "Y12365"},
}; //创建表格
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);
}
}
//定位到指定书签位置,添加表格
BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("bookmark1");
bookmarksNavigator.insertTable(table); //保存文档
doc.saveToFile("addTableToBookmarkcontent.docx",FileFormat.Docx_2013);
doc.dispose();
}
}

表格添加效果:

(本文完)

转载请注明出处!

Java 操作Word书签(二):添加文本、图片、表格到书签内容的更多相关文章

  1. Java 操作Word书签(三):用文本、图片、表格替换书签

    本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本.图片.表格等替换原有书签处的内容. 使用工具:Free Spire.Doc for Java (免费版 ...

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

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

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

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

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

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

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

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

  6. java操作elasticsearch实现批量添加数据(bulk)

    java操作elasticsearch实现批量添加主要使用了bulk 代码如下: //bulk批量操作(批量添加) @Test public void test7() throws IOExcepti ...

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

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

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

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

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

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

随机推荐

  1. c语言进阶11-算法设计思想

    一.  算法设计的要求: 为什么要学算法? /* 输出Hello word! */ #include "stdio.h" void main() { printf("He ...

  2. C#3.0新增功能01 自动实现的属性

    连载目录    [已更新最新开发文章,点击查看详细] 在 C# 3.0 及更高版本,当属性访问器中不需要任何其他逻辑时,自动实现的属性会使属性声明更加简洁. 它们还允许客户端代码创建对象. 当你声明以 ...

  3. 使用java Apache poi 根据word模板生成word报表

    项目开发过程中,客户提出一堆导出报表的需求,需要导出word格式,页眉还需要加上客户公司的logo,试了几种方案,最后选择了用 Apache poi 加上自定义标签的方式实现. 目前功能还比较简单,一 ...

  4. mysql 不同版本下 group by 组内排序的差异

    最近发现网上找的 group by 组内排序语句在不同的mysql版本中结果不一样.   建表语句:   SET FOREIGN_KEY_CHECKS=0;   -- ---------------- ...

  5. Spring Cloud 之 Gateway.

    一.Gateway 和 Zuul 的区别 Zuul 基于servlet 2.5 (works with 3.x),使用阻塞API.它不支持任何长期的连接,如websocket. Gateway建立在S ...

  6. context创建过程解析(三)之deployDirectories

    HostConfig.deployApps() //在监听到start事件类型,也就是StandardHost调用startInternal protected void deployApps() { ...

  7. httpclient信任所有证书解决SSLException:Unrecognized SSL message,plaintext connection

    在使用 HttpClient 工具调用第三方 Http 接口时报错 javax.net.ssl.SSLException:Unrecognized SSL message,plaintext conn ...

  8. 【Android】INSTALL_FAILED_UPDATE_INCOMPATIBLE

    多是因为已经安装过该 apk 文件了,一般卸载了重新运行就 OK 了.

  9. windows server 2008 R2中建立ftp站点

    在windows server 2008 R2中建立ftp站点,要遵循以下步骤: (1) 开启IIS中的ftp服务: (2) 在IIS中建立ftp站点. 具体过程如下: (1) 开启IIS中的ftp服 ...

  10. JavaScript ES6和ES5闭包的小demo

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 可能有些小伙伴不知道ES6的写法,这儿先填写一个小例子 let conn ...