Python中的许多库,像一个个具有不同功能的“工具”,能帮助我们解决工作中的不同问题,提高工作效率!
本期将继续为大家放松python中的实用技能,本期的主题是:利用Python将Word&PPT批量转成PDF。让我们一起往下看!
首先,需要pywin32模块,如果没有的话需要先安装。安装命令:pip install pywin32
从win32com模块中导入Dispatch,constants。其中Dispatch用于调度word和ppt程序,constants用于设置word的一些参数:
from win32com.client import Dispatch,constants
定义word转pdf的函数,doc或者docx都可以直接转成pdf:
def WordToPdf(wordPath, pdfPath):
'''
wordPath参数对应的是word的完整路径
pdfPath参数对应的是pdf的完整路径
'''
# 调用word程序
word =Dispatch('Word.Application')
# 打开word文件
doc = word.Documents.Open(wordPath)
将word转化成pdf:
doc.ExportAsFixedFormat(
#对应pdf完整的路径
pdfPath,
# 指定是以 PDF 还是 XPS 格式保存文档
constants.wdExportFormatPDF,
# 选用,非必须,指定导出过程是仅包括文本,还是同时包括文本和标记
Item=constants.wdExportDocumentWithMarkup,
# 选用,非必须,指定是否导出书签以及要导出的书签类型。
CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
执行完操作后,关闭word程序:
word.Quit()
官方参考链接:
https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.office.tools.word.document.exportasfixedformat?view=vsto-2017
给定word和pdf的完整路径:
wordPath = r"C:UsersadminDesktop测试测试1.doc"
pdfPath = r"C:UsersadminDesktop测试测试1.pdf"
调用函数将具体的某个word文件转换成pdf:
WordToPdf(wordPath,pdfPath)
成功将word文件转换成pdf格式的文件。
然后是将ppt文件转换成pdf文件:
定义ppt转换成pdf的函数,ppt 或者pptx都可以直接转换:
def PowerPointToPdf(pptPath, pdfPath):
'''
pptPath参数对应的是ppt的完整路径
pdfPath参数对应的是pdf的完整路径
'''
# 调用ppt程序
PowerPoint = Dispatch("PowerPoint.Application")
# 显示ppt程序
PowerPoint.Visible = 1
# 打开指定的ppt文件
ppt = PowerPoint.Presentations.Open(pptPath)
将ppt转化成pdf。官方参考链接:
https://docs.microsoft.com/zh-cn/office/vba/api/PowerPoint.Presentation.ExportAsFixedFormat
ppt.ExportAsFixedFormat(
# 指定输出的pdf文件的完整路径
pdfPath,
# 导出幻灯片时应采用的格式,导出为 PDF 格式
constants.ppFixedFormatTypePDF,
# 设置打印范围,打印整个文件
PrintRange = None
)
执行完操作后,关闭ppt程序:
PowerPoint.Quit()
给定ppt和pdf的完整路径:
pptPath = r"C:UsersadminDesktop测试�.pptx"
pdfPath2 = r"C:UsersadminDesktop测试ppt01.pdf"
调用函数将具体的某个ppt文件转化成pdf:
PowerPointToPdf(pptPath,pdfPath2)
以上操作是将单个Word&PPT文件转成PDF文件,接下来教你怎么批量转换成PDF文件,不用一次次手动点击换格式那么麻烦。
word批量转化为pdf
导入os模块用于操作文件路径:
import os
指定word所在文件夹:
word_folder = r"C:UsersadminDesktop测试"
取出文件夹内的每个word文件转换成pdf,就能实现将批量word文件转换成pdf格式的文件了:
for item in os.listdir(word_folder):
wordPath = word_folder +os.sep + item
if 'doc' in item and 'docx' not in item:
pdfPath = word_folder + os.sep +item.replace('.doc','.pdf')
WordToPdf(wordPath,pdfPath)
if 'docx' in item :
pdfPath = word_folder + os.sep +item.replace('.docx','.pdf')
WordToPdf(wordPath,pdfPath)
ppt批量转化为pdf
方法和步骤同word批量转换成pdf一样。
导入os模块用于操作文件路径:
import os
指定ppt所在文件夹:
ppt_folder = r"C:UsersadminDesktop测试"
取出文件夹内的每个ppt文件转换成pdf,就能实现将批量的ppt文件转换成pdf格式的文件了:
for item in os.listdir(ppt_folder):
pptPath = ppt_folder +os.sep + item
if 'ppt' in item and 'pptx' not in item :
pdfPath = ppt_folder + os.sep +item.replace('.ppt','.pdf')
PowerPointToPdf(pptPath,pdfPath)
if 'pptx' in item :
pdfPath = ppt_folder + os.sep +item.replace('.pptx','.pdf')
PowerPointToPdf(pptPath,pdfPath)
看了这么多期python实用技巧文章,是不是对Python的认识更深了呢?
万能的Python能大大提高你的工作效率,解放更多时间精力,还不赶快学起来~
▼
往期精彩回顾
▼
如何使用python制作词云图?
Pandas必备技能之“表格拼接”
4张思维导图系统入门Python爬虫
7张思维导图掌握数据分析关键库pandas
Numpy核心要点有哪些?3张思维导图帮你梳理
用python一键批量压缩&备份文件,不必再用鼠标点点点
- END -
未明学院精心打造
Python编程入门+数据分析课程
掌握数据分析技能,提升职场竞争力
滑动了解详情