本文将介绍在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()); //添加批注IDCommentMark 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();}}

批注添加效果:

在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多