这个比对结果中没有标注出字体样式的修改,Microsoft Office比对文件结果会有标注出字体样式的修改,以批注的形式展示
@yinke 谢谢你的解释,我明白了。 我方无法使用您文档中使用的“宋体”字体。如果“Aspose.Words”找不到文档中使用的字体,则替换字体. 这可能会导致由于字体度量差异而导致的布局差异。您可以实现IWarningCallback在执行字体替换时收到通知。
以下文章可能对您有用:
Aspose-word25.1文件比对是否能比对出两个文件中字体样式的改变,并给出提示?
文件比对的页脚比对错误,原文件是5改成6,比对结果显示的是-1改成6
aspose.pdf (1.1 MB)
修改.docx (1.6 MB)
原文.docx (1.6 MB)
@yinke 这是因为默认情况下,字段值具有“页码-1”和字段值“-1”。您可以忽略用于比较文档的字段:
CompareOptions compareOptions = new CompareOptions();
compareOptions.setIgnoreFields(true);
doc1.compare(doc2, "Updated", new Date(), compareOptions);
这个需要比对页脚,这个问题能否修复?
能否给出对应比对代码,以及比对结果展示?
@yinke 我为此创建了一个新问题。 我们将对此进行分析。
我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:
Issue ID(s): WORDSNET-27857
如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务 。
@yinke 以下是字体更改后的 DOCX 输出文件
output.docx (12.6 KB)
我使用的代码是一个比较文档的简单代码:
Document doc1 = new Document("original.docx");
Document doc2 = new Document("modified.docx");
doc1.compare(doc2, "Updated", new Date());
doc1.save("output.docx");
这个比对生成的word后再调用接口转成pdf后,对应的批注标记没有,这个有什么设置让这些标记以批注的形式展示吗?用Microsoft Office转成pdf这些标记会展示
Document document = new Document(“output.docx”);
document.save(“output.pdf”, SaveFormat.PDF);
@yinke 您可以使用以下代码对其进行定制,使其与 PDF 一起使用:
document.getLayoutOptions().getRevisionOptions().setShowInBalloons(ShowInBalloons.FORMAT_AND_DELETE);
以下链接可能有用:
@yinke 将文档保存为PDF时,MS Word会根据MS Word设置中的默认编辑语言设置默认文档语言。如果特定运行节点语言与默认值不同,则通过逻辑结构/标记内容导出。
在"Aspose.Words"中,您可以通过以下方式设置默认编辑语言
LoadOptions LoadOptions=new LoadOptions();
loadOptions.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.CHINES_PRC);
"Aspose.Words"还通过逻辑结构/标记内容用不同的语言标记运行节点。
此外,您可以在通过document.getStyles().getDefaultFont().setLocaleId(2052)
保存到PDF之前尝试设置默认区域设置;`([MS-OE376]: Part 4 Section 7.6.2.39, LCID (Locale ID) | Microsoft Learn).
使用您提供的代码后word的修订内容是显示中文,但是再用word转pdf,pdf文件中的修订内容是英文,这个要如何解决?
LoadOptions loadOptions=new LoadOptions();
loadOptions.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.CHINESE_PRC);
Document document = new Document(“比对0102.docx”,loadOptions);
document.getLayoutOptions().getRevisionOptions().setShowRevisionBars(false);
document.getLayoutOptions().getRevisionOptions().setShowInBalloons(ShowInBalloons.FORMAT_AND_DELETE);
document.save(“比对0102.pdf”, SaveFormat.PDF);
比对0102.docx (929.1 KB)
比对0102.pdf (1.1 MB)
@yinke 请在保存document.getStyles().getDefaultFont().setLocaleId(2052)
之前添加以下代码,并检查结果。此外,MS Word 还根据 Windows 默认语言来分配语言。 您是否将中国语言作为 Windows 本地语言?
本地Windows默认语言是中文,添加您提供的代码后转换的pdf还是显示英文
LoadOptions loadOptions=new LoadOptions();
loadOptions.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.CHINESE_PRC);
Document document = new Document(“比对0102.docx”,loadOptions);
document.getLayoutOptions().getRevisionOptions().setShowRevisionBars(false);
document.getLayoutOptions().getRevisionOptions().setShowInBalloons(ShowInBalloons.FORMAT_AND_DELETE);
document.getStyles().getDefaultFont().setLocaleId(2052);
document.save(“比对0102.pdf”, SaveFormat.PDF);
@yinke 感谢您报告此问题。 我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:
Issue ID(s): WORDSNET-27866
如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务 。
加上您提供的代码doc1.getLayoutOptions().getRevisionOptions().setShowInBalloons(ShowInBalloons.FORMAT_AND_DELETE);
后,由于页码比对有差异,转成pdf报错
Document doc1 = new Document("原文.docx");
Document doc2 = new Document("修改.docx");
CompareOptions options = new CompareOptions();
options.setGranularity(Granularity.CHAR_LEVEL);
options.setIgnoreFormatting(false);
options.setIgnoreCaseChanges(true);
options.setTarget(ComparisonTargetType.NEW);
doc1.getLayoutOptions().getRevisionOptions().setShowRevisionBars(false);
doc1.getLayoutOptions().getRevisionOptions().setShowInBalloons(ShowInBalloons.FORMAT_AND_DELETE);
doc1.compare(doc2, "Update", new Date(), options);
doc1.getStyles().getDefaultFont().setLocaleId(EditingLanguage.CHINESE_PRC);
doc1.save("比对.pdf", SaveFormat.PDF);
@yinke 感谢您报告此问题。 我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:
Issue ID(s): WORDSNET-27871
如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务 。
The issues you have found earlier (filed as WORDSNET-27866,WORDSNET-27871) have been fixed in this Aspose.Words for Java 25.3 update.