未明学院:利用Python将Word&PPT批量转成PDF



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编程入门+数据分析课程

掌握数据分析技能,提升职场竞争力

滑动了解详情


你可能感兴趣的:(未明学院:利用Python将Word&PPT批量转成PDF)