C# 如何对WordProcessingDocument中的页面重新编号?
我使用OpenXMLSDK创建了一个大的(约1000页)word文档。当我第一次使用word应用程序打开它时,它在状态栏中显示“word正在对test.docx的页面重新编号”,并持续大约15秒。我犯了一个错误 这种行为的后果。此步骤完成后,文档将被更改,需要保存。新版本的文件大约是原始文件的两倍大 只需调用C# 如何对WordProcessingDocument中的页面重新编号?,c#,ms-word,openxml,openxml-sdk,C#,Ms Word,Openxml,Openxml Sdk,我使用OpenXMLSDK创建了一个大的(约1000页)word文档。当我第一次使用word应用程序打开它时,它在状态栏中显示“word正在对test.docx的页面重新编号”,并持续大约15秒。我犯了一个错误 这种行为的后果。此步骤完成后,文档将被更改,需要保存。新版本的文件大约是原始文件的两倍大 只需调用 document.SaveAs("someFilePath"); 这种行为到底是什么?如何以编程方式对文档创建过程中(或之后)的页面重新编号?您不能对WordprocessingDocu
document.SaveAs("someFilePath");
这种行为到底是什么?如何以编程方式对文档创建过程中(或之后)的页面重新编号?您不能对
WordprocessingDocument
中的页面重新编号,因为这些页码不是存储在WordprocessingDocument
中,而是在布局或呈现文档时创建的
典型的文档将页码定义为一个复杂字段,您可以在FooterPart
(或者可能是HeaderPart
)中包含的打开的XML标记中找到该字段。假设页码字段存储在FooterPart
中,在最简单的情况下,WordprocessingDocument
中可能有一个FooterPart
(例如,具有单个节的文档)。即使您有多个FooterPart
s,例如,因为您有多个部分,或者您的第一页、奇数页和偶数页的布局不同,文档中的FooterPart
s也相对较少(至少与1000页相比)
当Word呈现文档以供打印或查看时,它还会根据FooterPart
s呈现页码(仍使用我的示例)。对于1000页,这需要时间,因为Word并不是为这么大的文档构建的
如果您想自己完成Word的工作并执行布局,您需要了解构建布局引擎是极其复杂的,需要付出大量的努力