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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐