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.Presentation for Python教程查看。如果在使用中遇到问题,可前往Spire论坛获取技术支持。

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

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

相关文章

Ubuntu下AI4Green开源ELN服务的简单部署

主部署程序:AI4Green 配置参考这篇文档:AI4Green开源ELN(电子实验记录本)-CSDN博客 流量转发和负载均衡:使用Nginx 配置参考这篇文档:Nginx负载均衡-CSDN博客 SSL配置部分参考这篇文档: 设置…

SpringBoot-开启Actuator监控

Spring Boot Actuator是Spring Boot提供的一种管理和监控应用程序的框架,可以帮助我们了解应用程序的运行状况,提供HTTP端点来暴露应用程序的不同方面,如健康状况、指标、日志和运行时信息等。 开启Actuator监控,我们可以通过HTT…

Hyperledger Fabric 核心概念与组件

要理解超级账本 Fabric 的设计,首先要掌握其最基本的核心概念与组件,如节点、交易、排序、共识、通道等。 弄清楚这些核心组件的功能,就可以准确把握 Fabric 的底层运行原理,深入理解其在架构上的设计初衷。知其然,进…

回顾2023编程之旅

一、前言 看在给了我一个博客专家的份上就继续写写博客,实事求是的讲如果是工作之余去总结csdn写写技术博客,还想混个专家什么的,真的是精力不够。因为里面的灌水的实在太多,比不过的,写这个玩意必须得淡泊名利才能悠然…

部署一款开源的交互审计系统—Next Terminal

博客地址 部署一款开源的交互审计系统—Next Terminal-雪饼 (xue6ing.cn)https://xue6ing.cn/archives/bu-shu-yi-kuan-kai-yuan-de-jiao-hu-shen-ji-xi-tong--next-terminal Next Terminal是什么? Next Terminal是一个开源的交互审计系统,具有以下主…

控制台console

js控制台打印 console.log()和console.group() console.group()指的是消息组的开始,在此之后的所有消息将写进该消息组中, console.groupEnd()指的是该消息组的结束,

SpringBoot请求参数加密、响应参数解密

SpringBoot请求参数加密、响应参数解密 1.说明 在项目开发工程中,有的项目可能对参数安全要求比较高,在整个http数据传输的过程中都需要对请求参数、响应参数进行加密,也就是说整个请求响应的过程都是加密处理的,不在浏览器上暴…

40道java集合面试题含答案(很全)

点击下载《40道java集合面试题含答案(很全)》 1. 什么是集合 集合就是一个放数据的容器,准确的说是放数据对象引用的容器集合类存放的都是对象的引用,而不是对象的本身集合类型主要有3种:set(集)、list(列…

Unity文字转语音(使用RT-Voice PRO [2023.1.0])

参考文章Unity插件——文字转朗读语音RtVioce插件功能/用法/下载_rtvoice-CSDN博客 一、使用步骤 1.导入进Unity(插件形式为 .unitypackage) https://download.csdn.net/download/luckydog1120446388/88717512 2.添加所需Prefab 1).右键可…

后端 API 接口文档 Swagger 使用

Swagger 是什么 swagger是一款可以根据 restful 风格生成的接口开发文档,并且支持做测试的一款中间软件。 例如当我们在开发前后端分离项目时,当后端开发完一个功能想要测试时,若此时还没有相应的前端页面发起请求,可以通过 swag…

python炒股自动化(0),申请券商API接口

上次发了量化交易接口的区别,发现很多人根本不知道券商提供的API交易接口,这里补充一篇,关于券商接口的介绍。 现在市面上可以给个人账户接入的股票交易接口,用的最多的也就是QMT和Ptrade,以前接入量化交易需要机构或…

高压放大器设计要求是什么

高压放大器在科学研究和工程应用中扮演着至关重要的角色,特别是在需要处理高电压信号的实验和应用中。高压放大器设计要求的充分考虑至关重要,以确保其在各种环境中稳定、可靠地工作。下面将介绍设计高压放大器时需要考虑的关键要求和因素。 1.电压范围 …

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能(AI)技术的快速发展,特别是生成式AI模型如GPT-3/4的出现,软件开发行业正经历一场变革,这些模型通过提供代码生成、自动化测试和错误检测等功能,极大地提高了开发效率和软件质量。 本文旨在深入…

Android readelf 工具查找函数符号

ELF(Executable and Linkable Format)是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式,用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件,…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《考虑灵活性补偿的高比例风电与多元灵活性资源博弈优化调度》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到高比例风电与多元灵活性资源在博弈优化调度中考虑灵活性补偿的问题。以下是对标题各个部分的解读: 高比例风电: …

【模拟IC学习笔记】Cascode OTA 设计

辅助定理 增益Gm*输出阻抗 输出短路求Gm 输入置0求输出阻抗 求源极负反馈的增益 随着Vin的增加,Id也在增加,Rs上压降增加,所以,Vin的一部分电压体现在Rs上,而不是全部作为Vgs,因此导致Id变得平滑。 Rs足…

【数据结构篇】数据结构中的 R 树和 B 树

数据结构中的 R 树和 B 树 ✔️关于R树(RTree)✔️什么是B树(B-tree)✔️B树和B树的区别✔️B树和B树在数据存储方面的具体差异 ✔️拓展知识仓✔️R树和B树的区别✔️ 那在内存消耗上有什么区别?✔️ R树有哪些优点和…

【算法与数据结构】509、LeetCode斐波那契数

文章目录 一、题目二、递归,动态规划解法2.1 递归解法2.2 动态规划解法 三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归,动态规划解法 2.1 递归解法 思路分析:斐波…

【Leetcode】240. 搜索二维矩阵 II

一、题目 1、题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1: 输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21…

【REST2SQL】05 GO 操作 达梦 数据库

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 信创要求用国产数据库,刚好有项目用的达梦,研究一下go如何操作达梦数据库 1 准备工作 1.1 安…