Java 操作Word书签(二):添加文本、图片、表格到书签内容
在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签、读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本、图片、表格等。
使用工具:Free Spire.Doc for Java (免费版)
Jar文件获取及导入:
方法1: 通过官网下载jar文件包。下载后,解压文件。并将lib文件夹下的Spire.Doc.jar文件导入到java程序。参考如下导入效果:
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(); } }
表格添加效果:
(本文完)
转载请注明出处!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2018-08-28 C# 在PDF中绘制动态图章