#!/usr/bin/python2.6# -*- coding: utf-8 -*-# pip install timeout-decoratorimport osimport win32com.client# wps使用的是wps2016版本# 转换 Word文件档到pdfdef 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文件档到pdfdef 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文件档到pdfdef 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)