我正在使用下面的代码来获取页数,但它没有给出实际的页数(PFA)。获得总页数的更好方法是什么?
var pageCount = doc.ExtendedFilePropertiesPart.Properties.Pages.Text.Trim();
注意:我们不能在我的 Azure Web 应用程序服务中使用 Office 主互操作程序集
提前致谢。
我正在使用下面的代码来获取页数,但它没有给出实际的页数(PFA)。获得总页数的更好方法是什么?
var pageCount = doc.ExtendedFilePropertiesPart.Properties.Pages.Text.Trim();
注意:我们不能在我的 Azure Web 应用程序服务中使用 Office 主互操作程序集
提前致谢。
理论上,以下属性可以使用 Open XML SDK 从 Word Open XML 文件返回该信息:
int pageCount = (int) document.ExtendedFilePropertiesPart.Properties.Pages.Text;
然而,在实践中,这并不可靠。它可能有效,但话又说回来,它可能不起作用 - 这完全取决于 1)Word 在文件关闭之前设法保存在文件中的内容,以及 2)可能对关闭的文件进行了何种编辑。
获取页码或页数的唯一可靠方法是在 Word 应用程序界面中打开文档。页数和页数在编辑期间由 Word 动态计算。关闭文档时,此信息是静态的,不一定是打开或打印文档时的信息。
另请参阅https://github.com/OfficeDev/Open-XML-SDK/issues/22进行确认。
这段代码对我有用。它将“Y 页 X”添加到文档中。
para = new Paragraph(new Run(
new Text() { Text = "Page ", Space = SpaceProcessingModeValues.Preserve },
new SimpleField() { Instruction = "PAGE" },
new Text() { Text = " of ", Space = SpaceProcessingModeValues.Preserve },
new SimpleField() { Instruction = "NUMPAGES \\*MERGEFORMAT" }));