项目里面要求Word文档接受修订,并要去掉批注,常见的工具库有POI和JXL,但有些功能不太强大,用起来也啰嗦,这里用Aspose.Words这个类库来实现一下。
文档链接 在这里 :
https://apireference.aspose.com/words/java/com.aspose.words/Document
接受修改:
Document doc = new Document("D:/OrgDocFile.docx");
doc.acceptAllRevisions();
拒绝修订:
doc.getRevisions().get(i).reject();
删除批注(重点):
NodeCollection nc = doc.getChildNodes(NodeType.COMMENT,true);
if (nc != null && nc.getCount() > 0) {
for(int i=0;i<nc.getCount();i++){
log.info("清除批注:{}",nc.get(i).getText());
Node comment =nc.get(i);
comment.getParentNode().removeChild(comment);
}
}
上面getChildNodes的isDeep参数设置为true是必要的。
最后保存文档:
doc.save("D:/","newDoc.docx");
老铁们学废了么,顶我上某度搜索列表最前面吧!