【发布时间】:2021-10-29 03:35:28
【问题描述】:
我有一个 Word docx 文件,我想用 c# 检索 OpenXml 中的所有段落。 我需要知道: 1.-文件的页数。 2.-每个段落所属的页码。
你能举一个阅读文档段落的例子吗?
【问题讨论】:
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: openxml-sdk
我有一个 Word docx 文件,我想用 c# 检索 OpenXml 中的所有段落。 我需要知道: 1.-文件的页数。 2.-每个段落所属的页码。
你能举一个阅读文档段落的例子吗?
【问题讨论】:
标签: openxml-sdk
不幸的是,正如Why only some page numbers stored in XML of docx file? 的回答,docx 不包含可靠的页码服务。 Xml 文件没有页码,直到 Microsoft Word 打开它并动态呈现。即使您阅读诸如 https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.pagenumber?view=openxml-2.8.1 之类的 openxml 文档。
您可以解压一些 docx 文件,然后搜索“page”或“pg”。然后你就会知道了。在我的情况下,我对不同类型的 docx 文件执行此操作。所有人都告诉我同样的事实。很高兴这有帮助。
几个月前,我重新编写了一个名为 docx2python 的 python 包来做类似的事情。我从一个 docx 文件中复制了一个结构化的(有级别)xml 格式文件。据我所知,一个段落包含几个 Runs,每个 Run 只包含一个文本。您可以阅读此文档以了解如何操作。简单的段落不难阅读。 https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.paragraph?view=openxml-2.8.1 。很高兴这有帮助。
【讨论】: