原始表格截图:
原始文件:
source.docx (23.7 KB)
保存后截图:
保存后的文件:
result.docx (23.5 KB)
代码中未操作文档,只作加载并保存:
Document source = new Document("E:\\Desktop\\source.docx");
source.save("E:\\Desktop\\result.docx", SaveFormat.DOCX);
原始表格截图:
保存后截图:
代码中未操作文档,只作加载并保存:
Document source = new Document("E:\\Desktop\\source.docx");
source.save("E:\\Desktop\\result.docx", SaveFormat.DOCX);
您遇到的问题——使用 Aspose.Words for Java 加载并保存 DOCX 文档后表格宽度发生变化——在类似场景中已有报告,尤其是在处理由第三方编辑器(如 JS 编辑器)生成的 DOCX 文件时,尽管这些文件在 Microsoft Word 中显示正常,但 Aspose.Words 在解析或保存时可能出现表格布局维护不一致的情况 。
Aspose.Words 内部已为此类问题创建了工单,例如 WORDSNET-28616 和 WORDSNET-28563,表明产品在更新表格布局计算逻辑方面存在已知行为差异,特别是在文档结构非标准生成的情况下 。虽然部分相关问题(如 WORDSNET-16558)已在 Aspose.Words for .NET 23.10 版本中修复 ,但 Java 版本的同步情况尚不明确,且某些边缘情况可能仍未覆盖。
尽管 Aspose 提供了 updateTableLayout() 方法用于手动触发表格布局重算,但该方法已被标记为已弃用,官方建议谨慎使用,因为当前版本已采用内部自动机制处理布局计算,正常情况下无需手动干预 。
建议您:
document.updateTableLayout() 查看是否有所改善(注意该方法已弃用,仅作临时验证用途)。该问题可能与文档加载时的表格布局解析逻辑有关,建议补充文档样本以支持进一步排查。
使用的是aspose-words-21.8,请问在不升级版本的情况下有什么解决方案
感谢您的回复,我已经上传了相关的输入输出文件
@xsirl 感谢您提供的更多信息。我这边使用最新的 Aspose.Words 25.12 版本无法重现此问题。我看到您使用的是较旧的 Aspose.Words 21.8 版本。因此,请您尝试使用最新的 25.12 版本,并告知我们问题是否仍然存在。