We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

关于更新目录域的问题,目录的页码和内容中的页码实际不一致

如附件所示,test.docx是我的测试文档,问题是目录的页码和内容中的页码实际不一致,需要手动选中目录更新域
test.docx (193.5 KB)
image.png (34.3 KB)
image.png (46.4 KB)

@yangzhiyi123, 请在保存文档之前尝试调用 updateFields 和 updatePageLayout。

        Document doc = new Document("test.docx");
        doc.updatePageLayout();
        doc.updateFields();
        doc.save("test.out.aw.docx");

test.out.aw.docx (168.4 KB)

Document.updateFields
Document.updatePageLayout

麻烦您试一下这个文件,我刚才尝试了上述方式,目录页码还是对应不上
test2 .docx (611.7 KB)
image.png (44.0 KB)
image.png (13.9 KB)

@yangzhiyi123, 感谢您向我们报告此问题。 我已将其记录为 WORDSNET-24709。 一旦解决,您将在此线程中得到通知。

该问题是由 test2.docx 中启用的标点符号压缩功能引起的。 Aspose.Words 还不完全支持这个特性。 如果通过将其切换为 Do not compress 来禁用此功能,那么 Aspose.Words 可以生成正确的目录。

这与您在另一个主题中询问的问题相同

感谢您的回复,请问您 Aspose.Words 有没有其他方式生成目录页码?

@yangzhiyi123, Aspose.Words 正确生成页码,尽管它们与您在 Microsoft Word 中看到的不同。 发生这种情况是因为 Aspose.Words 由于标点符号压缩问题而以不同方式布置文档中的文本。

如果您使用 Aspose.Words 将文档保存为 PDF,您将看到该 PDF 表格内容中的页码对应于相应的页面。 但是如果您将文档保存为 DOCX 并在 Microsoft Word 中打开它,Microsoft Word 将以不同的方式排版文本,页码将与目录中的页码不对应。

请查看下面的屏幕截图。 如您所见,在 Microsoft Word 和 Aspose.Words 中创建的 PDF 目录中的页码不同,但目录中的页码仍然指向正确的页面。

不幸的是,现在解决这个问题的唯一方法是禁用标点符号压缩。 在这种情况下,Aspose.Words 和 Microsoft Word 将以相同的方式布置文档中的文本,页码也将相同。