100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Python教程】小白也能看懂的PPT批量转PDF代码

【Python教程】小白也能看懂的PPT批量转PDF代码

时间:2019-04-17 16:02:03

相关推荐

【Python教程】小白也能看懂的PPT批量转PDF代码

目录

Python简介Python数据类型Python基本语法继续进军单个ppt转pdf的完整代码

Python简介

Python数据类型

Python不像C++需要预先对一个变量进行声明并指定类型。Python的变量的类型取决于它被赋值成了什么类型。

举个例子,如果我们想用一个变量来记录一个字符串:

input_ppt="E:\Desktop\myppt.pptx"

好了,input_ppt这个变量就被我们创建了,而且变量的值就是“E:\Desktop\myppt.pptx”,也就是我们的ppt所在的文件路径,可以根据你自己的ppt的位置来修改。

注意,Python的语句末尾是不用写任何符号的,不像C++。

如果我们想要验证input_ppt这个变量是不是我们赋予的值,可以打印试试看:

input_ppt="E:\Desktop\myppt.pptx"print(input_ppt)

同理,我们可以定义想要输出的pdf的路径的字符串变量:

input_ppt="E:\Desktop\myppt.pptx"output_pdf="E:\Desktop\mypdf.pdf"

变量的名称可以随意取,这里只做演示。

Python基本语法

Python是面向对象的语言,首先需要从一个类(Class)来定义一个对象(Object)。举个栗子,类是图纸,类中包含了对象具有的变量和函数。对象是根据图纸造出来的产品。

Python的对象可以自己定义,也可以从它丰富的库中直接获取。

这里我们需要用的comtypes.client类,这个类可以用于我们后续将文件以ppt的类型打开(在电脑中都是以2进制存储的,打开一个文件需要使用对应类型的函数)。

在python代码的开头,加入

import comtypes.client

就可以直接使用comtypes.client对象啦。

我们需要调用comtypes.client的CreateObject方法,来创建一个"Powerpoint.Application"应用程序。

在comtypes.client后面加"."即可继续写需要调用的函数。现在我们的代码变成了:

import comtypes.clientinput_ppt="E:\Desktop\myppt.pptx"output_pdf="E:\Desktop\mypdf.pdf"powerpoint = comtypes.client.CreateObject("Powerpoint.Application")

注意,这里的powerpoint只是ppt应用程序,不是我们要转化的ppt文件哦。

继续进军

至此,我们了解了一些Python的基本变量和语句方法,知道了如何调用对象中的函数。

接下来使用我们得到的powerpoint应用程序打开我们要转换的ppt。

myppt= powerpoint.Presentations.Open(input_ppt)

使用我们的ppt文件对象的ExportAsFixedFormat函数,将myppt转存为pdf,保存路径为之前定义的输出路径out_pdf。

myppt.ExportAsFixedFormat(output_pdf, FixedFormatType=2,OutputType=4)

这里的FixedFormatType=2是指ppt存储的格式为pdf。

由于我们要输出为6页讲义版,需要对OutputType进行设置:

OutputType=4就好ok了。

powerpoint.Quit()

然后再把ppt应用程序关掉。

单个ppt转pdf的完整代码

import comtypes.client#导入需要用到的库input_ppt="E:\Desktop\myppt.pptx"#输入的文件output_pdf="E:\Desktop\mypdf.pdf"#输出的文件powerpoint = comtypes.client.CreateObject("Powerpoint.Application")#打开ppt应用程序myppt= powerpoint.Presentations.Open(input_ppt)#用ppt应用程序打开我们的ppt文件myppt.ExportAsFixedFormat(output_pdf, FixedFormatType=2,OutputType=4)#转存我们的ppt文件到pdf,6页讲义版myppt.close()#关闭当前pptpowerpoint.Quit()#关掉ppt程序

Python的注释是加入“#”号,可以注释一行的文字,不影响运行哦。

接下来就是批量处理,在python语言里也可以使用for循环和if语句:

import comtypes.client#导入需要用到的库import os#这里需要用到一个新的库中的对象,我们要需要获得操作系统(operating system)的对象input_path="E:\Desktop"#输入的文件夹output_path="E:\Desktop"#输出的文件夹,这俩可以不一样哈input_files = os.listdir(input_path)#获取输入的文件夹里所有的ppt,得到了一个ppt列表powerpoint = comtypes.client.CreateObject("Powerpoint.Application")#打开ppt应用程序for input_file_name in input_files:#循环遍历列表里每一个pptif not input_file_name.lower().endswith((".ppt", ".pptx")):#略过末尾的文件名不是ppt的文件continue#这里的continue是跳过下面的代码,进入下一次循环的意思input_file_path = os.path.join(input_path, input_file_name)#把输入的文件名组合一下print(input_file_path)myppt= powerpoint.Presentations.Open(input_file_path)#用ppt应用程序打开我们的ppt文件file_name = os.path.splitext(input_file_name)[0]#获取ppt的名称,用splitext函数切割input_file_name,并访问第0个元素,即去“my.pptx”,去掉保留“my”output_file_path = os.path.join(output_path, file_name + ".pdf")#把输出文件名组合一下myppt.ExportAsFixedFormat(output_file_path, FixedFormatType=2,OutputType=4)#转存我们的ppt文件到pdfmyppt.close()#关闭当前pptpowerpoint.Quit()#关掉ppt程序

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。