Aspose.word for .net 23.4.0.0 兼容模式自动转换为非兼容模式

@zchong MS Word 兼容版本的默认值为 15。 您可以从提供的微软文档中查看: WdCompatibilityMode enumeration (Word) | Microsoft Learn

您提供的图像具有以下属性 mc:Ignorable Attribute - WPF .NET Framework | Microsoft Learn, 但不是兼容版本。

您好,我想咨询下java读取兼容模式的方式,通过debug的方式可以获取到版本号
Document document = new Document(bufferedInputStream, options);
document.getCompatibilityOptions().getMswVersion();
但是在代码行里面提示不存在getMswVersion该方法,请问我应该怎么读取12,14,15这种。

@zchong 请检查 Java版本 读取word的版本号是一个数字,与实际word的版本号不符,word文档实际的版本号是空的 - #2 by vyacheslav.deryushev


这个是错误的,与实际并不匹配

@zchong 能否附上有问题的文件?

测试版本.docx (11.4 KB)

@zchong 感谢您提供的文件。 我没有理解正确。 我为您提供了代码,它可以获取文档将使用的 MS Word 版本,该版本存储在"16.0000"中。 但你需要的值来自 <w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="14"/>

我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:

Issue ID(s): WORDSNET-28175

如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务

您好,我想咨询下word底层的问题,我从word界面设置页边距可以设置多个小数位,比如2.5011cm和2.496cm 不同节之间在界面展示都是2.5cm,但是我全选两个章节之后再看页边距变为空了,这种word底层的处理逻辑是什么,是如何舍位来区分两个值的一致性的呢。

@zchong 我认为在这种情况下,MS Word 会按原样存储数值,或许可以将其舍入到点后的 3 或 4 个数字中,并仅在显示界面中舍入该数值。当你设置了几个部分时,这看起来不像是显示页边距界面的典型错误,因为在这种情况下,程序无法理解哪个部分需要显示结果,因为它们并不相似。因此,避免这种情况的唯一办法就是设置精确的 2.5 值。这是我的假设,要在 MS Word 中解决这个问题,你可以在相关的 Microsoft 论坛上发表文章。