.net做网站的方式深一网站建设招聘
news/
2025/10/9 0:39:17/
文章来源:
.net做网站的方式,深一网站建设招聘,中国商标免费查询平台,263企业网盘最近在微信看到一篇文章介绍说批量将ppt文件转化为pdf文件#xff0c;自己尝试了一下#xff0c;后面想能否自己封装一个类#xff0c;既能将ppt转换为pdf#xff0c;而且能够将word转换为pdf#xff0c;或者其他类型转化为pdf。花了半天时间研究和找资料#xff0c;终于…最近在微信看到一篇文章介绍说批量将ppt文件转化为pdf文件自己尝试了一下后面想能否自己封装一个类既能将ppt转换为pdf而且能够将word转换为pdf或者其他类型转化为pdf。花了半天时间研究和找资料终于完成了。
本人是在windows 10 、python3.6虚拟环境下完成的 以下是具体内容 #作者cacho_37967865
#博客https://blog.csdn.net/sinat_37967865
#文件pdfConverter.py
#日期2018-04-22
#备注通过调用Python访问COM对象的comtypes包批量将ppt或者word转换为PDF文件先要在python环境安装comtypes # F:\python_env\PaChong_env
# -*- coding: utf-8 -*-from comtypes.client import CreateObject
import osclass pdfConverter:def __init__(self):#word文档转化为pdf文档时使用的格式为17self.wdFormatPDF 17self.wdToPDF CreateObject(Word.Application)#ppt文档转化为pdf文档时使用的格式为32self.pptFormatPDF 32self.pptToPDF CreateObject(Powerpoint.Application)self.pptToPDF.Visible 1def wd_to_pdf(self, folder):#获取指定目录下面的所有文件files os.listdir(folder)#获取word类型的文件放到一个列表里面wdfiles [f for f in files if f.endswith((.doc, .docx))]for wdfile in wdfiles:#将word文件放到指定的路径下面wdPath os.path.join(folder, wdfile)#设置将要存放pdf文件的路径pdfPath wdPath#判断是否已经存在对应的pdf文件如果不存在就加入到存放pdf的路径内if pdfPath[-3:] ! pdf:pdfPath pdfPath .pdf#将word文档转化为pdf文件先打开word所在路径文件然后在处理后保存pdf文件最后关闭pdfCreate self.wdToPDF.Documents.Open(wdPath)pdfCreate.SaveAs(pdfPath, self.wdFormatPDF)pdfCreate.Close()def ppt_to_pdf(self, folder):files os.listdir(folder)pptfiles [f for f in files if f.endswith((.ppt, .pptx))]for pptfile in pptfiles:pptPath os.path.join(folder, pptfile)pdfPath pptPathif pdfPath[-3:] ! pdf:pdfPath pdfPath .pdfpdfCreate self.pptToPDF.Presentations.Open(pptPath)pdfCreate.SaveAs(pdfPath, self.pptFormatPDF)pdfCreate.Close()if __name__ __main__:converter pdfConverter()converter.ppt_to_pdf(F:\PythonProject\Pacong\ppt)converter.wd_to_pdf(F:\PythonProject\Pacong\ppt)
以后如果还想将其他类型的文件转换为pdf,可以在这个类中创建新的函数。在写这个类时遇到几个问题大家也可能会遇到
1. 刚开始运行时一直报错“Presentations.Open(pptPath)AttributeError: POINTER(IUnknown) object has no attribute Presentations”找了好久才找到说好像是权限问题需要在组件服务的DCOM配置进行处理。
2. word文档转换时的函数是Documents.Open()ppt转换时是Presentations.Open()
3. 文件转换时有一个参数formatype不同转换类型不一样wdFormatPDF 17pptFormatPDF 32
4. ppt转换时需要进行处理pptToPDF.Visible 1word好像不需要
5. 这个转换用到了一个Python访问COM对象的comtypes包可以通过pip直接安装
pip3 install comtypes
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932096.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!