Java 添加、回复、修改(替换)、删除Word批注
批注是一种常用于对特定文档内容进行注解的工具或方法,起到解释说明、标记指正的作用。在本篇文章中,将介绍如何操作Word批注的方法,包括:
1. 添加批注:添加文本到批注、插入图片到批注;
2. 回复批注;
3. 修改或替换批注:用文本替换批注中的文本内容、用文本替换批注中的图片、用图片替换批注中的图片;
4. 删除批注:删除指定批注中的所有内容、删除指定批注中的指定内容
使用工具:Free Spire.Doc for Java (免费版)
Jar文件导入(参考):
方法1:通过官网获取jar包,并解压。
导入步骤1:在程序中新建一个Directory目录,并将控件包中lib文件夹下的Spire.Doc.jar文件(如下图)复制到新建的目录下。
导入步骤2:鼠标右键点击复制后的jar文件,选择“Add as Library”,弹出的对话框中,点击“OK”,完成导入。
方法2:通过添加maven依赖导入到maven项目,参考导入步骤。
Java示例代码
【示例1】添加批注(文本、图片)
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Comment; public class AddComment { public static void main(String[] args) { //加载测试文档 Document doc = new Document("test.docx"); //获取指定段落 Section sec = doc.getSections().get(0); Paragraph para= sec.getParagraphs().get(3); //插入文本到批注 Comment comment = para.appendComment("请在试验中将包含以下特征的实验样本记录在册,并整理好周记录报表,供后续观察取样。"); comment.getFormat().setAuthor("审校组"); //插入图片到批注 comment.getBody().addParagraph().appendPicture("tp.png"); //保存文档 doc.saveToFile("AddComment.docx", FileFormat.Docx_2010); } }
批注添加效果:
【示例2】回复批注
import com.spire.doc.*; import com.spire.doc.fields.Comment; public class ReplyComment { public static void main(String[] args) throws Exception{ //加载测试文档 Document doc = new Document("AddComment.docx"); //获取指定批注 Comment comment = doc.getComments().get(0); //回复批注 Comment relyC= new Comment(doc); relyC.getFormat().setAuthor("实验组"); relyC.getBody().addParagraph().appendText("已完成。"); comment.replyToComment(relyC); //保存文档 doc.saveToFile("ReplyComment.docx",FileFormat.Docx_2010); } }
批注回复效果:
【示例3】修改或替换批注
import com.spire.doc.*; public class ModifyComment { public static void main(String[] args){ //加载含有批注的测试文档 Document doc = new Document("sample.docx"); //获取第一个批注中的第一段,用文本替换原有批注中的文本 doc.getComments().get(0).getBody().getParagraphs().get(0).replace("请在试验中将包含以下特征的实验样本记录在册,并整理好周记录报表,供后续观察取样。","参照以下实验方法!",false,false); //获取第一个批注中的第二段,用文本替换原有批注中的图片 doc.getComments().get(0).getBody().getParagraphs().get(1).setText("请上报管理科!"); //获取第一个批注中的第三段,删除原有图片,再调用方法添加新图片(用图片替换图片) doc.getComments().get(0).getBody().getParagraphs().get(2).getChildObjects().removeAt(0); doc.getComments().get(0).getBody().getParagraphs().get(2).appendPicture("2.png"); //保存文档 doc.saveToFile("ModifyComment.docx",FileFormat.Docx_2010); } }
修改或替换结果:
【示例4】删除批注
import com.spire.doc.*; import com.spire.doc.FileFormat; public class DeleteComment{ public static void main(String[] args) { //加载测试文档 Document doc = new Document("AddComment.docx"); //调用方法删除指定批注(删除批注中的所有内容) doc.getComments().removeAt(0); //删除指定批注中的指定段落(删除批注中的部分内容) doc.getComments().get(0).getBody().getParagraphs().get(1).getChildObjects().removeAt(0); //保存文档 doc.saveToFile("DeleteComment", FileFormat.Docx_2010); } }
批注删除效果:
(本文完)
转载请注明出处!!!!!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)