办公利器!用Python快速将任意文件转为PDF

2021/6/27 22:25:51

本文主要是介绍办公利器!用Python快速将任意文件转为PDF,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

**痛点:** 相信大家都会遇到一种**场景**。老师/上司要求你把**某个文件转为pdf**,并且是一批(不止一个,一个的话手动就可以搞定),并且这种是枯燥无聊的工作,既没有什么技术含量又累。 试想一下,如果我把这些文件**放到一个文件夹下,执行一下程序**,几分钟后这些文件就转好。这样半天的活,只要**花几分钟就解决**了。岂不是美滋滋!!! 今天辰哥就教大家将任意文件批量转为PDF,这里以日常办公的**word**、**excel**、**ppt**为例,这三种格式的文件转为PDF。 # 01、word转PDF 这里借助Python的docx2pdf去完成转换操作,该库的安装命令如下: ```python pip install docx2pdf ``` **目标**:读取文件夹下的全部word文件,然后进行转换,最后保存到对应的文件夹中。 ![](https://oscimg.oschina.net/oscnet/up-aaad299d732187c30ab9bb969ad8b663c9e.png) 这里辰哥新建两个word文件作为演示,打开其中一个word看看 ![](https://oscimg.oschina.net/oscnet/up-5d82795951ab0e2affa86b21e5e69758f2b.png) 里面不仅有文字,同时包含有图片 ```python 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存放文件夹。 ![](https://oscimg.oschina.net/oscnet/up-c4411ac499e8d75475033d86c02c569987f.png) 打开第一个pdf,内容如下: ![](https://oscimg.oschina.net/oscnet/up-f90f62a5e95fa32df6cb77022e394d5a9a0.png) 可以看到**文字**、**图片**、以及**排版****这些**都与原文件(word)**一模一样**。 # 02、excel转PDF 这里需要使用到的库是comtypes,下面直接上案例。 上面的word转pdf已经教大家学会了从文件夹中读取全部的文件,所有这里同样的就不再赘述。 ```python pip install pywin32 ``` **目标:** 将excel文件转为PDF ![](https://oscimg.oschina.net/oscnet/up-62f1d3f624d4d77b35002936b233b3f1502.png) 这里辰哥新建一个excel文件作为演示 ```python 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文件 ![](https://oscimg.oschina.net/oscnet/up-2e821918e98d78913925026e435585ef9cf.png) 打开pdf ![](https://oscimg.oschina.net/oscnet/up-24b5b0a4d23dfa4ba12ef8cdc870d9607f9.png) 可以看到excel中的数据已经全部转为PDF格式。 # 03、ppt转PDF 这里需要使用到的库是comtypes,下面直接上案例。 上面的word转pdf已经教大家学会了从文件夹中读取全部的文件,所有这里同样的就不再赘述。 **目标**:ppt转为pdf ![](https://oscimg.oschina.net/oscnet/up-6a60d897b25ec6470f7d57323d527559795.png) 这个是辰哥之前做分享时弄的一个ppt,咱们就以这个ppt为例 ```python 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** ![](https://oscimg.oschina.net/oscnet/up-3b36a79412b14b169d38fddc36555c46818.png) 打开pdf其内容如下: ![](https://oscimg.oschina.net/oscnet/up-9e1326514d5ff570cd0586605ab1c6eaf5b.png) # 04、小结 本文基本就成功实现目标要求,从效果来看还是非常不错的!完整源码可由文中代码组合而成(已全部分享在文中),感兴趣的读者可以自己尝试! 一定要**动手尝试** **!**一定要**动手尝试** **!**一定要**动手尝试!**

这篇关于办公利器!用Python快速将任意文件转为PDF的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程