无法使用 OpenXml 从 word 文档中获取页数

Can't get the pages count from a word document with OpenXml

我将 OpenXML SDK v2.11.3 与 .net core 3.1 一起使用,当我尝试从 word 文档获取总页数时,有时它 returns 一个空值。

using (var document = WordprocessingDocument.Open(memoryStream, true))
{​​​​
    var pages = Convert.ToInt32(document.ExtendedFilePropertiesPart.Properties.Pages.Text);
}

System.NullReferenceException: 'Object reference not set to an instance of an object.' DocumentFormat.OpenXml.ExtendedProperties.Properties.Pages.get returned null.

从 docx 文件获取总页数的最佳方法是什么?

  1. 分页是动态的属性取决于渲染,
  2. 任何给定的 DOCX 文件可能会也可能不会被渲染,并且
  3. OpenXML SDK 不呈现或执行呈现所需的计算,

您不一定能从任意 DOCX 文件中获取页数。

有关更多详细信息和一些有限的解决方法,请参阅