Python 官方文档:入门教程 => 点击学习
一、Word转pdf 这里借助python的docx2pdf去完成转换操作,该库的安装命令如下: pip install docx2pdf 目标:读取文件夹下的全部word文
这里借助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)一模一样。
这里需要使用到的库是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格式。
这里需要使用到的库是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其内容如下:
本文基本就成功实现目标要求,从效果来看还是非常不错的!完整源码可由文中代码组合而成(已全部分享在文中),感兴趣的读者可以自己尝试!
到此这篇关于教你如何用Python自动将任意文件转为PDF格式的文章就介绍到这了,更多相关Python文件转为PDF内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python办公自动化之将任意文件转为PDF格式
本文链接: https://lsjlt.com/news/129247.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0