python办公自动化(1)实现批量word转PDF
需要安装依赖库pywin32,如果不使用IDE,安装命令是:
pip install pywin32
如果使用IDE,如pycharm,可以在按下图安装:
步骤:file-settings-project
不多说,看代码实现,有问题可以留言:
from win32com.client import gencache
from win32com.client import constants, gencache
import os,re
def createPdf(wordPath, pdfPath):
"""
word转pdf
:param wordPath: word文件路径
:param pdfPath: 生成pdf文件路径
"""
word = gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open(wordPath, ReadOnly=1)
doc.ExportAsFixedFormat(pdfPath,
constants.wdExportFormatPDF,
Item=constants.wdExportDocumentWithMarkup,
CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
word.Quit(constants.wdDoNotSaveChanges)
###批量转换-----os.getcwd()可以替换你自己的目录比如d:\docs\
for dirs,subdirs,files in os.walk(os.getcwd()):
for name in files:
if re.search('\.(doc|docx)', name):
#print(dirs,subdirs,name)
if subdirs:
createPdf(dirs+subdirs+name,re.subn('(doc|docx)', 'pdf', name))
else:
createPdf(dirs+'\\'+name,dirs+'\\'+re.subn('(doc|docx)', 'pdf', name)[0])
print('--------------文档已全部转换完成-----------------------')