最近女朋友提出了一个需求,她差不多1000多个word文件,要打印,然后快递发给客户。一个地操作实在太慢了。一个想法是,先全部转换成pdf,然后合并,再打印就好了。只要打印一次就可以全部搞定了。
没有系统学习过程序设计,自己写了一个小脚本,希望可以帮到大家。下面上python
代码。目前的这一版本,效率相对较低,速度不快,但是质量有保障的。如果直接用第三方的转,速度会快一些,但是质量无法保障。另外,这一代码只能在windows
下运行。
import os
from win32com import client as wc # 导入模块
import PyPDF2
word = wc.Dispatch("Word.Application") # 打开word应用程序
def saveaspdf(source_file_list):
failed = []
success = 0
total = len(source_file_list)
for file in source_file_list:
print(f"\r {success+1}/{total}\t tranfering :{file}", end ="")
try:
doc = word.Documents.Open(file) # 打开word文件
pdfFileName = "{}.pdf".format(file.replace(".docx", '').replace(".doc", ''))
doc.SaveAs(pdfFileName, 17) # 另存