痛点: 相信你们都会遇到一种场景。老师/上司要求你把某个文件转为pdf,而且是一批(不止一个,一个的话手动就能够搞定),而且这种是枯燥无聊的工做,既没有什么技术含量又累。python
试想一下,若是我把这些文件放到一个文件夹下,执行一下程序,几分钟后这些文件就转好。这样半天的活,只要花几分钟就解决了。岂不是美滋滋!!!ide
今天辰哥就教你们将任意文件批量转为PDF,这里以平常办公的word、excel、ppt为例,这三种格式的文件转为PDF。学习
0一、word转PDF
这里借助Python的docx2pdf去完成转换操做,该库的安装命令以下:ui
pip install docx2pdf
目标:读取文件夹下的所有word文件,而后进行转换,最后保存到对应的文件夹中。spa
这里辰哥新建两个word文件做为演示,打开其中一个word看看3d
里面不只有文字,同时包含有图片excel
import os from docx2pdf import convert word_path = 'word_path' word_to_pdf = 'word_to_pdf' for i,j,name in os.walk(word_path): for word_name in name: convert(word_path+"/"+word_name, word_to_pdf+"/"+word_name.replace("docx","pdf"))
其中word_path是存放word文件的文件夹,word_to_pdf是转换后的pdf存放文件夹。code
打开第一个pdf,内容以下:orm
能够看到文字、图片、以及排版****这些都与原文件(word)如出一辙。blog
0二、excel转PDF
这里须要使用到的库是comtypes,下面直接上案例。
上面的word转pdf已经教你们学会了从文件夹中读取所有的文件,全部这里一样的就再也不赘述。
pip install pywin32
目标: 将excel文件转为PDF
这里辰哥新建一个excel文件做为演示
import os from win32com.client import DispatchEx excel_path = "D:/公众号/0626/Python研究者.xls" pdf_path = "D:/公众号/0626/Python研究者.pdf" xlApp = DispatchEx("Excel.Application") xlApp.Visible = False xlApp.DisplayAlerts = 0 books = xlApp.Workbooks.Open(excel_path,False) books.ExportAsFixedFormat(0, pdf_path) books.Close(False) xlApp.Quit()
运行以后生成pdf文件
打开pdf
能够看到excel中的数据已经所有转为PDF格式。
0三、ppt转PDF
这里须要使用到的库是comtypes,下面直接上案例。
上面的word转pdf已经教你们学会了从文件夹中读取所有的文件,全部这里一样的就再也不赘述。
目标:ppt转为pdf
这个是辰哥以前作分享时弄的一个ppt,我们就以这个ppt为例
import comtypes.client import os def ppt_to_pdf(): #设置路径 input_file_path=os.path.abspath("Python学习规划路线.pptx") output_file_path=os.path.abspath("Python学习规划路线.pdf") #建立PDF powerpoint=comtypes.client.CreateObject("Powerpoint.Application") powerpoint.Visible=1 slides=powerpoint.Presentations.Open(input_file_path) #保存PDF slides.SaveAs(output_file_path,32) slides.Close()
这里将会ppt:Python学习规划路线.pptx转为Python学习规划路线.pdf
打开pdf其内容以下:
0四、小结
本文基本就成功实现目标要求,从效果来看仍是很是不错的!完整源码可由文中代码组合而成(已所有分享在文中),感兴趣的读者能够本身尝试!
必定要动手尝试 !必定要动手尝试 !必定要动手尝试!