在之前的文章中我们介绍了如何给Word中指定文字添加批注,在本文中,我们将介绍如何获取Word中指定批注所标记的文字。
原Word文档:
import com.spire.doc.Document;
import com.spire.doc.documents.CommentMark;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Comment;
import com.spire.doc.fields.TextRange;
public class GetMarkedTextOfSpecificComment {
public static void main(String[] args){
//加载Word文档
Document doc = new Document();
doc.loadFromFile("Input.docx");
//获取文档中第一个批注
Comment comment = doc.getComments().get(0);
//获取该批注的开始标记和结束标记
Paragraph para = comment.getOwnerParagraph();
CommentMark start = comment.getCommentMarkStart();
CommentMark end = comment.getCommentMarkEnd();
//获取开始标记和结束标记在段落中的索引
int indexOfStart = para.getChildObjects().indexOf(start);
int indexOfEnd = para.getChildObjects().indexOf(end);
String markedText = "";
//根据索引获取批注的开始标记和结束标记之间的文字
for (int i = indexOfStart + 1; i < indexOfEnd; i++) {
if (para.getChildObjects().get(i) instanceof TextRange) {
TextRange range = (TextRange) para.getChildObjects().get(i);
markedText += range.getText();
}
}
//打印文字到控制台
System.out.println(markedText);
}
}
输出结果: