在之前的文章中我们介绍了如何给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);
}
}
输出结果: