#!/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)