使用 Python 编写的 word 文档的页数

Xav*_* R. 3 python doc docx odt

有没有办法用 Python 有效地获取 word 文档(.doc、.docx)的页数?

对于 .odt 文件?

我想将它用于 Linux 上基于 Web2py 的 Web 应用程序。

谢谢 !

a_g*_*est 6

仅适用于搜索此博客条目的人......

from win32com.client import Dispatch
#open Word
word = Dispatch('Word.Application')
word.Visible = False
word = word.Documents.Open(doc_path)

#get number of sheets
word.Repaginate()
num_of_sheets = word.ComputeStatistics(2)
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案的缺点是它只能在安装了 MS-Word 的 Windows 上运行。从文件中读取页面的答案不依赖于操作系统(即也可以在 Linux 上运行),速度更快并且不依赖于 MS-Word 的存在 (2认同)

pog*_*kiy 5

您可以读取该值

\n\n
<Properties>\n<Pages>CountValue</Pages>\n
Run Code Online (Sandbox Code Playgroud)\n\n

来自 docx 包中的 docProps/app.xml 或

\n\n
<office:document-meta>\n    <office:meta>\n        <meta:document-statistic meta:page-count="CountValue">\n
Run Code Online (Sandbox Code Playgroud)\n\n

在odt包中形成meta.xml。

\n\n

如果这些值\xe2\x80\x8b\xe2\x80\x8b不存在(它们是可选的),你必须对整个文档进行计算,实际上是执行渲染,那就更困难了

\n