前言
啊,过了这么久,我终于要开始看CPA了。今年要从去年的失败中总结教训,总之,不能再盲目跟视频课了,还是得自己看书和讲义。
于是我就下载了几百份讲义文档,但我又觉得Mac看Word文档很不方便,所以就去网上找了一点批量转换Word的教程,虽然有很多软件可以用,但我还是觉得用Python方便一点。
虽说是用Python,但是核心还是基于Word的,实质上就是通过pywin32这个包去调用Word的函数,用Word打开doc文件,再另存为PDF文件,虽然听起来和手动操作没什么区别,但毕竟可以省下一些点击鼠标的时间嘛!
另外,Pywin32只支持Windows,所以必须在安装了Word的Windows系统里才可以正常运行。
正文
先安装pywin32的包:
pip install pywin32
然后编写我们的代码:
import os from win32com.client import Dispatch # doc转pdf def doc2pdf(path, filename): word = Dispatch('Word.Application') doc = word.Documents.Open('{}\\{}'.format(path, filename)) doc.SaveAs('{}\\pdf\\{}'.format(path, filename.replace(".docx", ".pdf").replace(".doc", ".pdf")), FileFormat=17) doc.Close() word.Quit() path = '\\\\Mac\\Home\\Downloads\\讲义' doc_list = os.listdir(path) if not os.path.exists('{}\\pdf'.format(path)): os.mkdir('{}\\pdf'.format(path)) for filename in doc_list: if filename.endswith(".doc") or filename.endswith(".docx"): doc2pdf(path, filename)
为了避免不必要的麻烦,我用到的路径都是绝对路径。如果你要问为什么绝对路径这么奇怪……嗯,也许是因为我用了Windows虚拟机吧。
参考
这篇文章帮了我很多,呃,也许可以说我差不多是照搬这篇的:python3 word转pdf
Comments | NOTHING