Have fun with sci.dog

python获得word文档的页数

最近对一些文件进行统计,要分别统计得到word,pdf文档的页数,excel文件的有效的sheet的个数。

上网搜索之后,分别用python和matlab进行了处理。

先说说如何用python获得word文档的页数,这段代理来源于网络

from win32com.client import Dispatch
#open Word
def getwordpage(file):
    word = Dispatch('Word.Application')
    word.Visible = False
    word = word.Documents.Open(file)

    #get number of sheets
    word.Repaginate()
    num_of_sheets = word.ComputeStatistics(2)
    return num_of_sheets

这段代码是通过office的com接口来执行office的统计函数实现的,使用前,要确保计算机安装了office程序,还要在python里面安装win32库,貌似这个库不太好安装,网络上成功安装的命令如下

python -m pip install pypiwin32

笔者在使用这个函数的函数,发现还是不太好用,主要是后台要打开word,如果文档有错误,就会执行失败。所以,大家在外部调用的时候,一定要加try,进行异常处理。

实际上,word文档的页数应该可以在解压后的xml文件中读取,这种方法应该更好,更快,但不适用于老版本的word文档。

还有一个可行的方法是读取属性值。

我理解,这个属性值应该也是windows从word文档的xml文件中读取的,就是不知道微软是否提供了直接读取word文档这些信息的api接口?有知道的小伙伴可以评论下哦。

赞(1)
未经允许不得转载:SciDog » python获得word文档的页数

评论 抢沙发