轻量级前端框架助力开发者提升项目效率与性能
1129
2022-09-18
Python-办公小工具之doc 转换pdf
1.技术引入
1.有时候我们需要将个人电脑doc文件如(简历,工作需要的文件转换为pdf格式的文件)通常解决办法 1.1 网上找一些免费的在线doc转换pdf工具(1.文件内容存在被泄露的风险,2.转换页数有限制 3.转换完毕后文件带水印等各种问题) 1.2 购买相关产品功能也可以完成转换 1.3 通过程序代码进行转换文件(本文主要描述通过python进行转换doc为pdf文件格式)
*2.实施前环境准备**
官方文档: https://python-docx.readthedocs.io/en/latest/index.html 2.1.一台个人电脑建议配置(i3 4g内存以上) 2.2. 电脑安装python3 环境软件获取见:- 2.3.安装python3 包环境依赖: python -m pip install -U pip setuptools -i #升级pip源 pip install pypiwin32 -i #主要用作doc转docx格式转换用
3.doc转换pdf相关参考代码3.1 单个doc文件转pdf
import win32com from win32com.client import Dispatch, constants import os # 生成单个Pdf文件 def funGeneratePDF(): word = Dispatch("Word.Application") #内部方法 word.Visible = 0 # 后台运行,不显示 word.DisplayAlerts = 0 # 不警告 doc = word.Documents.Open(os.getcwd() + "\\K8s高可集群V1.20.doc") #转换源文件 doc.SaveAs(os.getcwd() + "\\1.8s高可集群V1.20.pdf", 17) #txt=4,html=10,docx=16,pdf=17 #新文件 doc.Close() #关闭 word.Quit() #推出 if __name__ == '__main__': funGeneratePDF()
3.2 当前目录多个word文件转pdf
from win32com.client import constants, gencache import os # 目录的操作 def createPdf(wordPath, pdfPath): word = gencache.EnsureDispatch('Word.Application') doc = word.Documents.Open(wordPath, ReadOnly=1) # 转换方法 doc.ExportAsFixedFormat(pdfPath, constants.wdExportFormatPDF) word.Quit() def findAllWord(): wordfiles = [] for file in os.listdir('.'): #遍历当前文件夹下的所有文件 if file.endswith(('.doc', '.docx')): # 通过后缀找出所有的workd文件 wordfiles.append(file) #查找的文件添加到数字中提供生成者 print(wordfiles) #打印查找的文件文件名称 return wordfiles def manywordToPdf(): data=findAllWord() if data: for file in data: # 获取文件路径 filepath = os.path.abspath(file) index = filepath.rindex('.') # 通过截取获取pdfpath pdfpath = filepath[:index] + '.pdf' #pdf生成的名称和文件路径 createPdf(filepath, pdfpath) print(pdfpath) #打印生成pdf文件路径 else: print("转换失败,请检查doc文件是否存在") if __name__ == '__main__': manywordToPdf()
以上报错: python# doc转pdf 导出失败,因为此功能尚未安装 原因: 1.满足条件: savePDF应该是office2007以上的版本才支持的,而且必须是完整版的office 2.如果2007提示这个错误,还需要安装一个插件名称: SaveAsPDFandXPS.exe #Windows系统 安装后
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~