前言
啊,过了这么久,我终于要开始看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