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

简介: **痛点:** 相信大家都会遇到一种**场景**。老师/上司要求你把**某个文件转为pdf**,并且是一批(不止一个,一个的话手动就可以搞定),并且这种是枯燥无聊的工作,既没有什么技术含量又累。

痛点: 相信大家都会遇到一种场景。老师/上司要求你把某个文件转为pdf,并且是一批(不止一个,一个的话手动就可以搞定),并且这种是枯燥无聊的工作,既没有什么技术含量又累。

试想一下,如果我把这些文件放到一个文件夹下,执行一下程序,几分钟后这些文件就转好。这样半天的活,只要花几分钟就解决了。岂不是美滋滋!!!

今天辰哥就教大家将任意文件批量转为PDF,这里以日常办公的wordexcelppt为例,这三种格式的文件转为PDF。

01、word转PDF

这里借助Python的docx2pdf去完成转换操作,该库的安装命令如下:

pip install docx2pdf

目标:读取文件夹下的全部word文件,然后进行转换,最后保存到对应的文件夹中。

这里辰哥新建两个word文件作为演示,打开其中一个word看看

里面不仅有文字,同时包含有图片


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存放文件夹。

打开第一个pdf,内容如下:

可以看到文字图片、以及排版这些都与原文件(word)一模一样

02、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格式。

03、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其内容如下:

04、小结

本文基本就成功实现目标要求,从效果来看还是非常不错的!完整源码可由文中代码组合而成(已全部分享在文中),感兴趣的读者可以自己尝试!

一定要动手尝试 一定要动手尝试 一定要动手尝试!

相关文章
|
4天前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
4天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
12 1
|
14天前
|
索引 Python
PDF文件页面提取操作小指南
PDF文件页面提取操作小指南
39 4
|
14天前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
31 3
|
14天前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
19 1
|
5天前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
11 0
|
14天前
|
存储 BI 数据库
使用 Python 实现自动化办公
使用 Python 实现自动化办公
18 0
|
17天前
|
存储 安全 网络安全
Python编程--使用PyPDF解析PDF文件中的元数据
Python编程--使用PyPDF解析PDF文件中的元数据
22 1
|
3月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
存储 对象存储 Python
第107天: Python 解析 PDF
第107天: Python 解析 PDF
796 0
第107天: Python 解析 PDF