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

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

Jar文件获取及导入:

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

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

Java代码示例

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

importcom.spire.doc.*;importcom.spire.doc.documents.BookmarksNavigator;importcom.spire.doc.documents.Paragraph;importcom.spire.doc.documents.TextWrappingStyle;importcom.spire.doc.fields.DocPicture;publicclassAddImgToBookmarkcontent{publicstaticvoidmain(String[]args){//加载包含书签的文档Documentdoc=newDocument();doc.loadFromFile("test.docx");//定位到指定书签位置起始标签位置,插入图片BookmarksNavigatorbookmarksNavigator1=newBookmarksNavigator(doc);bookmarksNavigator1.moveToBookmark("bookmark1",true,false);Paragraphpara=newParagraph(doc);DocPicturepicture=para.appendPicture("eth.png");picture.setTextWrappingStyle(TextWrappingStyle.Through);bookmarksNavigator1.insertParagraph(para);//定位到指定书签位置末尾标签位置,插入文本BookmarksNavigatorbookmarksNavigator2=newBookmarksNavigator(doc);bookmarksNavigator2.moveToBookmark("bookmark1",false,true);bookmarksNavigator2.insertText("新插入的文本!!!");//保存文档doc.saveToFile("addImgToBookmarkcontent.docx",FileFormat.Docx_2013);doc.dispose();}}

文本、图片添加效果:

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

importcom.spire.doc.*;importcom.spire.doc.documents.*;importcom.spire.doc.fields.TextRange;publicclassAddTableToBookmarkcontent{publicstaticvoidmain(String[]args){//加载包含书签的文档Documentdoc=newDocument();doc.loadFromFile("test.docx");//声明数组内容String[][]data={newString[]{"班级","姓名","学号"},newString[]{"1班","刘楠","Y12534"},newString[]{"2班","刘莉","Y12547"},newString[]{"3班","方红","Y12365"},};//创建表格Tabletable=newTable(doc,true);table.resetCells(4,3);for(inti=0;i<data.length;i++){TableRowdataRow=table.getRows().get(i);for(intj=0;j<data[i].length;j++){TextRangerange=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);}}//定位到指定书签位置,添加表格BookmarksNavigatorbookmarksNavigator=newBookmarksNavigator(doc);bookmarksNavigator.moveToBookmark("bookmark1");bookmarksNavigator.insertTable(table);//保存文档doc.saveToFile("addTableToBookmarkcontent.docx",FileFormat.Docx_2013);doc.dispose();}}

表格添加效果:

(本文完)