Java 給Word指定字符串添加批注


本文將介紹在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();
    }
}

批注添加效果:

 

(本文完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM