这里是利用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()
wps.Quit()
# 转换 PPT文件档到pdf
def ConvertPptToPdf(src, dst):
wps = win32com.client.Dispatch("Kwpp.Applicat

本文介绍了如何使用Python调用WPS来实现PDF转图片,包括两种方法:一是通过fitz库,二是借助Poppler。在转换时间上,当页码增多时,使用Poppler的方法优势明显,尤其对于带水印的文档,两种方法都能正常转换。然而,当文档为纯文字GBK编码时,fitz转换会出现乱码问题。
最低0.47元/天 解锁文章
1093

被折叠的 条评论
为什么被折叠?



