使用python调用wps v9转换office文件到pdf
#!/usr/bin/python2.6 # -*- coding: utf-8 -*- # pip install timeout-decorator import os import win32com.client # wps使用的是wps2016版本 # 转换 Word文件档到pdf def ConvertDocToPdf(src, dst): if not os.path.exists(src): print(src + "不存在,无法继续!") return False os.system('taskkill /im wps.exe') # 如果文件存在就删除 if os.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(); if os.path.exists(dst): return True else: return False # 转换 Ppt文件档到pdf def ConvertPptToPdf(src, dst): if not os.path.exists(src): print(src + "不存在,无法继续!") return False os.system('taskkill /im wps.exe') # 如果文件存在就删除 if os.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() if os.path.exists(dst): return True else: return False # 转换 xls文件档到pdf def ConvertXlsToPdf(src, dst): if not os.path.exists(src): print(src + "不存在,无法继续!") return False os.system('taskkill /im wps.exe') # 如果文件存在就删除 if os.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() if os.path.exists(dst): return True else: return False # 当前目录 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)