Python实现PowerPoint(PPT/PPTX)到PDF的批量转换

演示文稿是一种常见传达信息、展示观点和分享内容的形式,特别是PowerPoint演示文稿,广泛应用于各行各业,几乎是演讲等场合的必备工具。然而,演示文稿也有其限制,对设备的要求较高,且使用不同的软件或设备演示时,可能呈现出不同的效果,也会出现某些元素不被支持的情况。这种情况可以通过将演示文稿转换为PDF文档来解决。PDF格式具有高度的跨平台性,能够在不同的设备上展示出相同的外观,且不需要安装特别的软件,甚至在浏览器中就能很好地进行展示。同时,PDF文件还能方便我们进行打印等操作。如果需要处理大量的PPT转PDF的工作,一个个打开并另存为PDF是非常低效率的做法。我们可以利用Python编程语言的强大的工具来自动化这个过程,使得批量转换变得简单而高效。

本文将介绍如何使用Python将PowerPoint演示文稿(PPT、PPTX等)转换为PDF文件 ,使演示内容能够在更多的设备上展示,且保持内容展示效果一致。同时为大家带来一款免费的在线转换工具,将各种格式文件转换为PDF文件。

本文主要包括以下内容:

文章目录

本文所使用的方法需要用到Spire.Presentation for Python,可从官网下载或通过PyPI安装:pip install Spire.Presentation

转换演示文稿为PDF的优势

  • 兼容性:PDF格式具有广泛的兼容性,可以在不同操作系统和设备上准确显示。将PowerPoint文件转换为PDF可以确保接收方能够正确浏览和阅读您的演示内容。
  • 安全性和保密性:PDF格式可以设置密码和限制权限,提供更高的安全性和保密性。这对商业演示、敏感数据的展示以及知识产权保护非常重要。
  • 打印方便:PDF文件在打印时可以保持格式的一致性,无论是在个人打印机还是专业印刷机上。将PowerPoint文件转换为PDF格式可以确保打印输出结果与原始演示一致,方便分享和分发纸质副本。

将PowerPoint演示文稿批量转换为PDF文件

Presentation.SaveToFile(fileName: str, fileFormat: FileFormat) 可将演示文件转换为 PDF 文档。以下是执行此操作的详细步骤:

  1. 创建一个 Presentation 类对象。
  2. 使用 Presentation.LoadFromFile() 方法加载演示文稿文件。
  3. 使用 Presentation.SaveToFile(fileName: str, fileFormat: FileFormat) 方法将演示文稿保存为 PDF 文档。

代码示例:

Python

python 复制代码
from spire.presentation import *
from spire.presentation.common import *

# 设置文件夹路径和输出文件夹路径
folder_path = "Documents/"
output_folder = "Output/"

# 遍历文件夹中的文件
for file_name in os.listdir(folder_path):
    file_path = os.path.join(folder_path, file_name)
    
    # 判断文件名是否以.pptx或.ppt结尾
    if file_name.lower().endswith('.pptx') or file_name.lower().endswith('.ppt'):
        
        # 根据文件名生成输出路径
        output_path = os.path.join(output_folder, os.path.splitext(file_name)[0] + '.pdf')
        
        # 创建Presentation对象并从文件加载演示文稿
        presentation = Presentation()
        presentation.LoadFromFile(file_path)
        
        # 将演示文稿保存为PDF格式到指定输出文件夹
        presentation.SaveToFile(output_folder, FileFormat.PDF)
        
        # 释放Presentation对象占用的资源
        presentation.Dispose()

将演示文稿转换为PDF文件并设置页面大小

在转换过程中,还可以使用 Presentation.SlideSize.Type 属性设置幻灯片大小,从而决定生成的 PDF 文档的页面大小。以下是此操作的详细步骤:

  1. 创建一个 Presentation 类对象。
  2. 使用 Presentation.LoadFromFile() 方法加载演示文稿文件。
  3. 使用 Presentation.SlideSize.Type 属性将幻灯片尺寸设置为 A4。
  4. 使用 Presentation.SaveToFile(file: str, fileFormat: FileFormat) 方法将演示文稿保存为 PDF 文档。

代码示例:

Python

python 复制代码
from spire.presentation import *
from spire.presentation.common import *

# 导入所需的模块

# 创建Presentation类的对象
presentation = Presentation()

# 从文件加载演示文稿
presentation.LoadFromFile("Sample.pptx")

# 将幻灯片大小更改为A4
presentation.SlideSize.Type = SlideSizeType.A4

# 将演示文稿转换为PDF并保存
presentation.SaveToFile("output/PresentationToPDFA4.pdf", FileFormat.PDF)
presentation.Dispose()

将演示文稿的单页转换为PDF文件

我们还可以将演示文稿文件中的单张幻灯片转换为 PDF 文档。具体操作步骤如下:

  1. 创建一个 Presentation 类对象。
  2. 使用 Presentation.LoadFromFile() 方法加载演示文稿文件。
  3. 使用 Presentation.Slides[] 属性获取幻灯片。
  4. 使用 ISlde.SaveToFile(file: str, fileFormat: FileFormat) 方法将幻灯片保存为 PDF 文档。

代码示例:

python 复制代码
from spire.presentation import *
from spire.presentation.common import *

# 导入所需的模块

# 创建Presentation类的对象
presentation = Presentation()

# 从文件加载演示文稿
presentation.LoadFromFile("Sample.pptx")

# 获取一张幻灯片
slide = presentation.Slides[1]

# 将幻灯片保存为PDF文件
slide.SaveToFile("output/SlideToPDF.pdf", FileFormat.PDF)
presentation.Dispose()

免费在线转换工具

Free Spire.PDFConverter for .NET是一个免费的在线转换工具,支持将各种格式的文件转换为PDF文件,包括演示文稿(PPT、PPTX等)。只需要选择并上传文件,等待上传完成后点击"Download"即可。

总结

本文介绍了使用Python将PowerPoint演示文稿(PPT、PPTX等格式文件)转换为PDF文件,如何在转换时设置页面大小,以及如何转换单页幻灯片为PDF文件。同时,本文还提供了一个免费在线转换工具,支持将各种文件转换为PDF文件并下载保存。Spire.PDF for Python还支持许多其他功能,请前往Spire.Presentation for Python教程查看。如果在使用中遇到问题,可前往Spire论坛获取技术支持。

相关推荐
爱吃喵的鲤鱼几秒前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
DARLING Zero two♡27 分钟前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
Gu Gu Study29 分钟前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
yyfhq31 分钟前
sdnet
python
测试199838 分钟前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
love_and_hope38 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
一颗松鼠1 小时前
JavaScript 闭包是什么?简单到看完就理解!
开发语言·前端·javascript·ecmascript
有梦想的咸鱼_1 小时前
go实现并发安全hashtable 拉链法
开发语言·golang·哈希算法
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化