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

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

  • 转换演示文稿为PDF的优势
  • 将PowerPoint演示文稿批量转换为PDF文件
  • 将演示文稿转换为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

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

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 文档。

代码示例:

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”即可。

PDF免费转换器

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/231520.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyTorch 入门学习数据操作之创建

简介 在深度学习中,我们通常会频繁地对数据进行操作;要操作一般就需要先创建。 官方介绍 The torch package contains data structures for multi-dimensional tensors and defines mathematical operations over these tensors. Additionally, it pr…

x-cmd pkg | bit - 实验性的现代化 git CLI

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 bit,由 Chris Walz 于 2020 年使用 Go 语言开发,提供直观的命令行补全提示和建立在 git 命令之上的封装命令,旨在建立完全兼容 git 命令的现代化 CLI。 首次用户 使用 x bit 即可自…

毛虫目标检测数据集VOC格式550张

毛虫,一种令人惊叹的生物,以其独特的外貌和习性,成为了自然界中的一道亮丽风景。 毛虫的外观非常特别,身体呈圆柱形,表面覆盖着许多细小的毛发,这使得它们在叶子上伪装得非常好。它们的头部有一对坚硬的颚…

网络安全应急响应工具之-流量安全取证NetworkMiner

在前面的一些文章中,用了很多的章节介绍流量分析和捕获工具wireshark。Wireshark是一款通用的网络协议分析工具,非常强大,关于wireshark的更多介绍,请关注专栏,wireshark从入门到精通。本文将介绍一个专注于网络流量取…

如何保证幂等性

什么是幂等性? 调用方对系统进行重复的调用,不管调用多少次,调用对系统的影响都是相同的。系统默认认为外部系统调用失败是常态,失败之后会有重试。 什么情况下会导致幂等性问题? 网络波动,可能引起重复…

vmware虚拟机安装esxi7.0步骤

一、安装准备 1、下载镜像文件 下载链接:https://pan.baidu.com/s/12XmWBCI1zgbpN4lewqYw6g 提取码:mdtx 2、vmware新建一个虚拟机 2.1 选择自定义 2.2 选择ESXi对应版本 2.3 选择稍后安装操作系统 2.4 默认选择 2.5 自定义虚拟机名称及存储位置 2…

使用Go语言的HTTP客户端库进行API调用

随着微服务架构和RESTful API的普及,API调用成为了日常开发中的常见任务。Go语言提供了多种工具和库来帮助开发者轻松地与API进行交互。本文将介绍如何使用Go语言的HTTP客户端库进行API调用。 在Go语言中,标准库中的net/http包提供了基本的HTTP客户端功…

maven repository的官方网址

本文来记录下maven repository的官方网址 文章目录 记录例子 记录 maven仓库官方地址:https://mvnrepository.com/ 例子 比如搜索elasticsearch 选择适用的版本

win7系统报错msvcp140.dll丢失的多种解决方法分享

在Windows 7操作系统中,msvcp140.dll是一个非常重要的动态链接库文件,它负责许多应用程序的正常运行。然而,由于各种原因,我们可能会遇到丢失msvcp140.dll的问题。当msvcp140.dll文件丢失或损坏时,可能会导致程序无法启…

华为商城秒杀时加密验证 device_data 的算法研究

前言 之前华为商城放出 Mate60 手机时, 想给自己和家人抢购一两台,手动刷了好几天无果后,决定尝试编写程序,直接发送 POST 请求来抢。通过抓包和简单重放发送后,始终不成功。仔细研究,发现 Cookie 中有一个名为 devic…

Android ValueAnimator属性动画ObjectAnimator使View颜色渐变,Kotlin

Android ValueAnimator属性动画ObjectAnimator使View颜色渐变,Kotlin 设置背景颜色渐变: private var iv: ImageView? nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activit…

STM32F103C8T6制作简易示波器

1设计需求 通过stm32f103c8t6实现一个简易示波器功能,该示波器可以检测0-3.6khz频率范围内的波形。 也可以输出波形,输出方波、三角波、正弦波。 2技术方案 通过stm32的ADC功能,采集输入信号,最后由oled屏进行显示。 采样频率…

逻辑斯蒂回归

逻辑斯蒂回归简介 逻辑斯蒂回归(Logistic Regression)是一个非常经典的算法,虽然被称为回归,但其实际上是分类模型,并常用于二分类。因为通过逻辑回归模型,我们得到的计算结果是0-1之间的连续数字&#xff…

【Android Studio】在单独的窗口中启动模拟器

参考:https://developer.android.com/studio/run/emulator-launch-separate-window?hlzh-cn 默认情况下,Android 模拟器会在 Android Studio 中运行。这样,您就可以高效地使用屏幕空间,使用热键在模拟器和编辑器窗口之间快速导航…

03 decision tree(决策树)

一、decision tree(决策树) 1. classification problems(纯度) i . entropy (熵) ​ 作用:衡量一组数据的纯度是否很纯 ,当五五开时他的熵都是最高的,当全是或者都不是…

Guava Cache 异步刷新技巧,你值得拥有!

以下文章来源于勇哥Java实战 ,作者勇哥 Guava Cache是一款非常优秀的本地缓存框架。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 经典配置 Guava Cache 的数据结构跟 JDK1.7 的 ConcurrentHashMap 类似,提供了基…

【机器学习前置知识】Beta分布

Beta分布与二项分布的关系 Beta分布与二项分布密切相关,由二项分布扩展而来,它是用来描述一个连续型随机变量出现的概率的概率密度分布,表示为 X X X~ B e t a ( a , b ) Beta(a,b) Beta(a,b) , a 、 b a、b a、b 是形状参数。B…

ES6之Proxy详解

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

P11 FFmpe时间基和时间戳

前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…

力扣1944.队列中可以看到的人数--单调栈

思路: 由题知一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 ,也就是说,在自己右边第一个比自己高的人后面的人就肯定看不到了那么只需要找到右边第一个比自己高的人与自己之间的所有满足要求的人就行了&#xff0…