1. 首页
  2. IT资讯

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

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

 

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

Jar 文件获取及导入:

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

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

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

 

 

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();       }   }

替换效果:

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

【示例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();       }   }

替换效果:

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

【示例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();       }   }

替换效果:

(本文完)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31499788/viewspace-2666836/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:深沉的少年,转转请注明出处:http://www.cxybcw.com/184571.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code