本文将介绍在Java程序中如何给Word文档中的指定字符串添加批注。前文中,主要介绍的是针对某个段落来添加批注,以及回复、编辑、删除批注的方法,如果需要针对特定关键词或指定字符串来设置批注,可以参考本文的方法。

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

获取方法1:通过官网下载,并导入Spire.Doc.jar文件至java程序。

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

Java代码示例

import com.spire.doc.*;
import com.spire.doc.documents.CommentMark;
import com.spire.doc.documents.CommentMarkType;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.Comment; public class AddCommentToCharacters {
public static void main(String[] args) {
//加载测试文档
Document doc = new Document();
doc.loadFromFile("test.docx"); //查找指定字符串
TextSelection[] selections = doc.findAllString("皱状厚膜", true, false); //获取关键字符串所在段落
Paragraph para = selections[0].getAsOneRange().getOwnerParagraph();
int index = para.getChildObjects().indexOf(selections[0].getAsOneRange()); //添加批注ID
CommentMark start = new CommentMark(doc);
start.setCommentId(1);
start.setType(CommentMarkType.Comment_Start);
CommentMark end = new CommentMark(doc);
end.setType(CommentMarkType.Comment_End);
end.setCommentId(1); //添加批注内容
String str = "给指定字符串添加批注";
Comment comment = new Comment(doc);
comment.getFormat().setCommentId(1);
comment.getBody().addParagraph().appendText(str);
comment.getFormat().setAuthor("作者:");
comment.getFormat().setInitial("CM");
para.getChildObjects().insert(index, start);
para.getChildObjects().insert(index + 1, selections[0].getAsOneRange());
para.getChildObjects().insert(index + 2,end);
para.getChildObjects().insert(index + 3, comment); //保存文档
doc.saveToFile("字符串批注.docx",FileFormat.Docx_2013);
doc.dispose();
}
}

批注添加效果:

(本文完)

Java 给Word指定字符串添加批注的更多相关文章

  1. Java 在Word指定段落/文本位置插入分页符

    在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入.本文,将以Java代码来操作以上两种文档分页需求.下面是详细方法及步骤. [程序环境] 在程序中导入jar,如下两种方法: 方法1 ...

  2. Java split 根据指定字符串分隔成list数组的用法

    String str="Java string split test";      String[] strarray=str.split(" ");//得到一 ...

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

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

  4. Java 获取Word批注所标记的文本和图片

    [环境配置] 本文将通过Java程序代码来展示如何来获取Word批注所标注的文本和图片.这里使用的Word Jar包工具是Free Spire.Doc for Java,在pom.xml中按如下步骤配 ...

  5. WORD添加批注(JAVA)

    import com.spire.doc.*;import com.spire.doc.documents.CommentMark;import com.spire.doc.documents.Com ...

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

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

  7. Dom4j向XML中指定位置添加、删除、修改节点——(五)

    需求: 在第一本书作者后面增加描述 <描述>好书</描述>  思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index ...

  8. Java 操作Word书签(二):添加文本、图片、表格到书签内容

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

  9. Java 如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...

随机推荐

  1. mysql 查询常见时间段数据

    1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...

  2. 【SQL server基础】SQL存储过程和函数的区别

    本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样.      函数限制比较多,比 ...

  3. SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6

    一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说 ...

  4. MapReduce案例-好友推荐

    用过各种社交平台(如QQ.微博.朋友网等等)的小伙伴应该都知道有一个叫 "可能认识" 或者 "好友推荐" 的功能(如下图).它的算法主要是根据你们之间的共同好友 ...

  5. R-forestplot包| HR结果绘制森林图

    本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...

  6. C# 获取顶级(一级)域名方法

    /// <summary> /// 获取域名的顶级域名 /// </summary> /// <param name="domain">< ...

  7. Reportviewer拖到winform不显示控件

    Vs2017使用的是rdlc Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80版本的,但是NuGet默认安装的是最 ...

  8. [AI开发]视频结构化类应用的局限性

    算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基 ...

  9. vue中图片放大镜功能

    仿淘宝详情页图片鼠标移过去可对图片放大显示在右侧 效果图如下图,此功能支持PC端与移动端 接下来进入代码实现环节: 先准备两张图片,一张小图片叫 '土味.jpg',大小160*91:一张大图片叫 ' ...

  10. 《java编程思想》P140-P160(第七章复部+第八章部分)

    1.不用修饰符 修饰的方法或类,它们的修饰符是 默认修饰符,即 包访问权限(包内都可以用)(临时记的) 2. final数据: 对于基本类型,final使数值恒定不变,而对于对象引用,final使引用 ...