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

批注删除效果:

 

(本文完)

 转载请注明出处!!!!!

posted @ 2019-06-04 15:34  E-iceblue  阅读(3058)  评论(1编辑  收藏  举报