这里是利用WPS进行转换,要先安装WPS。
安装依赖
pip install pypiwin32
代码
#!/usr/bin/python # -*- coding: UTF-8 -*- import os import win32com.client def ConvertByWps(sourceFile, targetFile): if not os.path.exists(sourceFile): print(sourceFile + "不存在,无法继续!") return False typemap = { 'doc': 'word', 'docx': 'word', 'ppt': 'ppt', 'pptx': 'ppt', 'xls': 'excel', 'xlsx': 'excel', } name_arr = sourceFile.split(".") suffix = name_arr[len(name_arr) - 1] wpstype = typemap.get(suffix) if (wpstype is None): return False os.system('taskkill /im wps.exe') # 如果文件存在就删除 if os.path.exists(targetFile): os.remove(targetFile) if wpstype == 'word': ConvertDocToPdf(sourceFile, targetFile) elif wpstype == 'ppt': ConvertPptToPdf(sourceFile, targetFile) elif wpstype == 'excel': ConvertXlsToPdf(sourceFile, targetFile) if os.path.exists(targetFile): return True else: return False # 转换 Word文件档到pdf def ConvertDocToPdf(src, dst): wps = win32com.client.Dispatch("Kwps.Application") wps.Visible = False doc = wps.Documents.Open(src) doc.ExportAsFixedFormat(dst, 17) doc.Close()