Python编写将目标文件夹内所有的 ppt、excel、word 快速生成 PDF(纵向)
1.简介:
一个Python写的公司文员使用的文档批量生成PDF的Python小应用,主要为快速的将文件夹内的PPT、EXCEL、WORD生成对应的PDF。附上源码以及打包好的exe文件,喜欢的话请点个关注!
- 【程序功能】:将【目标文件夹】内所有的 ppt、excel、word 均生成一份对应的 PDF 文件
- 【目标文件夹】:默认为此程序目前所在的文件夹;若输入路径,则为该文件夹(只转换该层,不转换子文件夹下内容)。
- 【生成的pdf名称】:原始名称+.pdf
注:如不能转换好像需要提前安装office软件,工具成品是写定了为纵向也可以改为横向或者不设置。
2.运行效果:
3.相关源码:
import os, win32com.client, gc
# Word
def word2Pdf(filePath, words):
# 如果没有文件则提示后直接退出
if(len(words)<1):
print ("\n【无 Word 文件】\n")
return
# 开始转换
print ("\n【开始 Word -> PDF 转换】")
try:
print ("打开 Word 进程...")
word = win32com.client.Dispatch("Word.Application")
word.Visible = 0
word.DisplayAlerts = False
doc = None
for i in range(len(words)):
print(i)
fileName = words[i] # 文件名称
fromFile = os.path.join(filePath, fileName) # 文件地址
toFileName = changeSufix2Pdf(fileName) # 生成的文件名称
toFile = toFileJoin(filePath,toFileName) # 生成的文件地址
print ("转换:"+fileName+"文件中...")
# 某文件出错不影响其他文件打印
try:
doc = word.Documents.Open(fromFile)
doc.SaveAs(toFile,17) # 生成的所有 PDF 都会在 PDF 文件夹中
print ("转换到:"+toFileName+"完成")
except Exception as e:
print(e)
# 关闭 Word 进程
print ("所有 Word 文件已打印完毕")
print