#!/usr/bin/python2.6#-*- coding: utf-8 -*-#pip install timeout-decorator
importosimportwin32com.client#wps使用的是wps2016版本#转换 Word文件档到pdf
defConvertDocToPdf(src, dst):if notos.path.exists(src):print(src + "不存在,无法继续!")returnFalse
os.system('taskkill /im wps.exe')#如果文件存在就删除
ifos.path.exists(dst):
os.remove(dst)
o= win32com.client.Dispatch("Kwps.Application")
o.Visible=False
doc=o.Documents.Open(src);
doc.ExportAsFixedFormat(dst,17)
o.Quit();ifos.path.exists(dst):returnTrueelse:returnFalse#转换 Ppt文件档到pdf
defConvertPptToPdf(src, dst):if notos.path.exists(src):print(src + "不存在,无法继续!")returnFalse
os.system('taskkill /im wps.exe')#如果文件存在就删除
ifos.path.exists(dst):
os.remove(dst)
wpp= win32com.client.Dispatch("Kwpp.Application")#o.Visible=False
ppt =wpp.Presentations.Open(src)
ppt.SaveAs(dst,32)
ppt.Close()
wpp.Quit()ifos.path.exists(dst):returnTrueelse:returnFalse#转换 xls文件档到pdf
defConvertXlsToPdf(src, dst):if notos.path.exists(src):print(src + "不存在,无法继续!")returnFalse
os.system('taskkill /im wps.exe')#如果文件存在就删除
ifos.path.exists(dst):
os.remove(dst)
xlApp= win32com.client.Dispatch("Ket.Application")
excel=xlApp.Workbooks.Open(src)
excel.ExportAsFixedFormat(0, dst)
excel.Close()
xlApp.Quit()ifos.path.exists(dst):returnTrueelse:returnFalse#当前目录
d = os.path.dirname(__file__)
abspath=os.path.abspath(d)#
#
#测试用例
src = abspath + r"/Doc/test.doc"dst= abspath + r"/Doc/test.doc.pdf"r=ConvertDocToPdf(src, dst)print(r)#测试用例
src = abspath + r"/Doc/test.xlsx"dst= abspath + r"/Doc/test.xlsx.pdf"r=ConvertXlsToPdf(src, dst)print(r)#测试用例
src = abspath + r"/Doc/test.pptx"dst= abspath + r"/Doc/test.pptx.pdf"r=ConvertPptToPdf(src, dst)print(r)