aspose-words for Java 转换文档之后,多了一个 六十(60),是什么原因
我们这比分析导致的原因如下 :原文中存在这种下拉框选项, 用户清空了下拉框内容,没有删除组件,导致出现了此问题
9.docx (15.4 KB)
请问你们能看看是什么原因导致的吗,该怎么解决?
aspose-words for Java 转换文档之后,多了一个 六十(60),是什么原因
9.docx (15.4 KB)
请问你们能看看是什么原因导致的吗,该怎么解决?
@SalesDhorde 看起来这只是在结构化文档标签中删除了文本的修订版。如果不删除这个内容控件(结构化文档标签),MS Word 不允许接受这个修订。要避免这种情况,可以使用以下代码,在接受修订之前删除结构化文档标签:
Document doc = new Document("input.docx");
StructuredDocumentTag tag = (StructuredDocumentTag) doc.getChild(NodeType.STRUCTURED_DOCUMENT_TAG, 0, true);
tag.remove();
doc.acceptAllRevisions();
@SalesDhorde 我认为没有通用的方法。由于您的文件中有多个标签,您可以尝试使用以下代码来删除这个特定的修订版:
Document doc = new Document("input.docx");
NodeCollection runs = doc.getChildNodes(NodeType.RUN, true);
for (Run run : (Iterable<Run>) runs) {
if (run.isInsertRevision()){
Node nextSibling = run.getNextSibling();
if (nextSibling != null && nextSibling.getNodeType() == NodeType.STRUCTURED_DOCUMENT_TAG) {
StructuredDocumentTag tag = (StructuredDocumentTag)nextSibling;
tag.remove();
}
}
}
doc.save("output.docx");
或者,您需要通过文本找到该标签并将其删除。