下面是详细讲解“批量将ppt转换为pdf的Python代码 只要27行!”的完整攻略。
1. 确定需求
首先,我们需要明确自己的需求:将多个PPT文件批量转换为PDF文件,且转换过程需要自动化处理。
2. 安装Python库
第二步,我们需要安装Python库,用于实现PPT转PDF的功能。使用PyWin32和comtypes两个库,他们可以让我们通过自动化方式来实现Office操作。
可以通过pip命令行工具在命令行中安装这两个库:
pip install pywin32 comtypes
3. 编写Python代码
在完成以上两个步骤后,我们便可以开始编写用于自动化处理PPT转PDF的Python代码。
import os
from comtypes import client
def init_powerpoint():
powerpoint = client.CreateObject("Powerpoint.Application")
powerpoint.Visible = 1
return powerpoint
def ppt_to_pdf(powerpoint, inputFileName, outputFileName, formatType = 32):
if outputFileName[-3:] != 'pdf':
outputFileName = outputFileName + ".pdf"
deck = powerpoint.Presentations.Open(inputFileName)
deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf
deck.Close()
def convert_files_in_folder(powerpoint, folder):
files = os.listdir(folder)
pptfiles = [f for f in files if f.endswith((".ppt", ".pptx"))]
for pptfile in pptfiles:
fullpath = os.path.join(cwd, pptfile)
ppt_to_pdf(powerpoint, fullpath, fullpath)
if __name__ == "__main__":
powerpoint = init_powerpoint()
cwd = os.getcwd()
convert_files_in_folder(powerpoint, cwd)
powerpoint.Quit()
代码主要包括两部分:
- 将PPT转为PDF的函数
ppt_to_pdf()
。 -
循环执行文件夹内的PPT转换:
-
获取文件夹内所有PPT文件;
- 循环处理每一个PPT文件。
前者传入3个参数:
- powerpoint:PowerPoint 应用程序对象;
- inputFileName:PPT 文件路径;
- outputFileName:PDF 文件路径。
后者传入2个参数:
- powerpoint:PowerPoint 应用程序对象;
- folder:要处理的文件夹位置。
运行该代码,可以将当前文件夹下的所有 PPT 文件转为同名的 PDF 文件。
4. 示例说明
以下是两个示例说明:
- 将D盘中的ppt文件夹内的所有PPT文件转为PDF文件,并存储到D盘的pdf文件夹中。
if __name__ == "__main__":
powerpoint = init_powerpoint()
ppt_folder = "D:/ppt"
pdf_folder = "D:/pdf"
ppt_to_pdf(powerpoint, ppt_folder, pdf_folder)
powerpoint.Quit()
- 将C盘中的 ppt 文件夹内以"template"开头的所有PPT文件转化为PDF文件,并存储在C盘的pdf文件夹内。
if __name__ == "__main__":
powerpoint = init_powerpoint()
ppt_folder = "C:/ppt"
pdf_folder = "C:/pdf"
files = os.listdir(ppt_folder)
pptfiles = [f for f in files if f.endswith((".ppt", ".pptx")) and f.startswith("template")]
for pptfile in pptfiles:
fullpath = os.path.join(ppt_folder, pptfile)
pdfpath = os.path.join(pdf_folder, os.path.splitext(pptfile)[0]+".pdf")
ppt_to_pdf(powerpoint, fullpath, pdfpath)
powerpoint.Quit()
以上就是批量将PPT转换为PDF的Python代码的完整攻略,希望能对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:批量将ppt转换为pdf的Python代码 只要27行! - Python技术站