Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1613495
  • 博文数量: 95
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 941
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-27 10:00
  • 认证徽章:
文章分类

全部博文(95)

文章存档

2019年(41)

2018年(45)

2017年(9)

我的朋友

分类: Java

2019-08-20 10:25:57

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

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

Jar文件获取及导入:

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

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


Java代码示例

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

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BookmarksNavigator;
  3. import com.spire.doc.documents.Paragraph;
  4. import com.spire.doc.documents.TextWrappingStyle;
  5. import com.spire.doc.fields.DocPicture;

  6. public class AddImgToBookmarkcontent {
  7.     public static void main(String[]args){
  8.         //加载包含书签的文档
  9.         Document doc = new Document();
  10.         doc.loadFromFile("test.docx");

  11.         //定位到指定书签位置起始标签位置,插入图片
  12.         BookmarksNavigator bookmarksNavigator1 = new BookmarksNavigator(doc);
  13.         bookmarksNavigator1.moveToBookmark("bookmark1",true,false);
  14.         Paragraph para = new Paragraph(doc);
  15.         DocPicture picture = para.appendPicture("eth.png");
  16.         picture.setTextWrappingStyle(TextWrappingStyle.Through);
  17.         bookmarksNavigator1.insertParagraph(para);

  18.         //定位到指定书签位置末尾标签位置,插入文本
  19.         BookmarksNavigator bookmarksNavigator2 = new BookmarksNavigator(doc);
  20.         bookmarksNavigator2.moveToBookmark("bookmark1",false,true);
  21.         bookmarksNavigator2.insertText("新插入的文本!!!");

  22.         //保存文档
  23.         doc.saveToFile("addImgToBookmarkcontent.docx",FileFormat.Docx_2013);
  24.         doc.dispose();
  25.     }
  26. }
文本、图片添加效果:



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

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.*;
  3. import com.spire.doc.fields.TextRange;

  4. public class AddTableToBookmarkcontent {
  5.     public static void main(String[]args){
  6.         //加载包含书签的文档
  7.         Document doc = new Document();
  8.         doc.loadFromFile("test.docx");

  9.         //声明数组内容
  10.         String[][] data =
  11.                 {
  12.                         new String[]{"班级", "姓名", "学号"},
  13.                         new String[]{"1班", "刘楠", "Y12534"},
  14.                         new String[]{"2班", "刘莉", "Y12547"},
  15.                         new String[]{"3班", "方红", "Y12365"},
  16.                 };

  17.         //创建表格
  18.         Table table = new Table(doc, true);
  19.         table.resetCells(4, 3);
  20.         for (int i = 0; i < data.length; i++) {
  21.             TableRow dataRow = table.getRows().get(i);
  22.             for (int j = 0; j < data[i].length; j++) {
  23.                 TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
  24.                 range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
  25.                 range.getCharacterFormat().setFontName("楷体");
  26.                 dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center);
  27.                 dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
  28.             }
  29.         }
  30.         //定位到指定书签位置,添加表格
  31.         BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
  32.         bookmarksNavigator.moveToBookmark("bookmark1");
  33.         bookmarksNavigator.insertTable(table);

  34.         //保存文档
  35.         doc.saveToFile("addTableToBookmarkcontent.docx",FileFormat.Docx_2013);
  36.         doc.dispose();
  37.     }
  38. }

表格添加效果:



(本文完)

阅读(103) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册