python 获取word页数
而win32com实际是:pip install pypiwin32并且一定记得要重启python(重启仍不行可以试试https://blog.csdn.net/weixin_43149311/article/details/120806116,我重启IDLE就行了)1.根据网上说法:word文档中不保存总页数,只是在渲染时才根据文字和表格等去摆放到一页上,摆放不下时才展现下一页。接下来,获取打开
没想到获取个word页数这么简单的需求,实现起来还挺难。
1.根据网上说法:word文档中不保存总页数,只是在渲染时才根据文字和表格等去摆放到一页上,摆放不下时才展现下一页。所以从docx中取不到总页数
2.因此,仅用docx库不行,还需要用win32com。而win32com实际是:pip install pypiwin32 并且一定记得要重启python(重启仍不行可以试试https://blog.csdn.net/weixin_43149311/article/details/120806116 ,我重启IDLE就行了)
要获取Word文档的页数,我们可以使用以下步骤:
首先,将Word文档保存为临时文件。
然后,使用win32com.client模块打开该临时文件。
接下来,获取打开的Word应用程序的ActiveDocument。
最后,通过BuiltInDocumentProperties属性获取文档的页数。
3 代码:
import docx
import os
import win32com.client as win32
def get_word_page_count(document_path):
document = docx.Document(document_path)
abs_path = os.path.abspath(document_path)
# 保存文档为临时文件
temp_path = os.path.join(os.path.dirname(abs_path), "~temp.docx")
document.save(temp_path)
# 打开临时文件并获取页数
word = win32.gencache.EnsureDispatch("Word.Application")
word.Visible = False
doc = word.Documents.Open(temp_path)
pages = doc.BuiltInDocumentProperties(14).Value
doc.Close()
word.Quit()
# 删除临时文件
os.remove(temp_path)
return pages
document_path = "1.docx"
page_count = get_word_page_count(document_path)
print("Word文档的页数:", page_count)
参考:https://blog.51cto.com/u_16175516/6850938
https://blog.csdn.net/u011840075/article/details/124696371
https://blog.csdn.net/weixin_43149311/article/details/120806116
https://blog.51cto.com/mouday/5018378
python 获取word页数
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)