python处理ppt文件,转换成图片或者pdf文件(获取目录下所有文件信息、文件名称分割、文档操作)
把PPT每一页截图到公众号里推送可是个体力活,那就用python脚本去分解ppt,保存每一个为一张图片好了
需要用到“win32com.client”库
import win32com.client
import os
import sys
第一步,定义读取ppt文件路径和输出路径
path = os.path.abspath(os.path.dirname(sys.argv[0]))
#PPT存放路径
ppt = path + '/' + "test.ppt"
#转换成图片后存放路径
filename = path + '/' + '001.jpg'
第二步,ppt路径和存放路径传到转换方法中执行
def ppt2png(ppt, filename):
# 打开PPT程序
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# 打开ppt文件(后台模式)
ppt = ppt_app.Presentations.Open(ppt)
# 打开的PPT另存为图片文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(filename, 17)
print("导出成png格式成功!!!")
# 退出PPT程序
ppt_app.Quit()
ppt2png(ppt, filename)
其实,就是这么简单。执行后,会在脚本和目录下创建一个文件夹,里面存放ppt每一页的图片文件
当然,也可以转成pdf文件,把第二步的“ppt.SaveAs”后括号内数字改成32,同时把第一步“filename”后的后缀由jpg改成pdf即可,生成上左图pdf文件
这里有个疑问,“filename”的后缀如果是jpg或者png,会创建一个文件夹,把图片存文件夹内,但是如果是pdf则只会在目录下生成一个pdf文件,没搞明白为何
当然,如果不想更改ppt文件名称,实现拖到脚本目录下即可转换,那就加上获取文件内所有文件信息,同时通过匹配后缀名的方式识别ppt文件转换
#获取默认目录下所有文件
filenames = os.listdir(path) #循环读取文件名称
for ppt in filenames:
#判断文件名称,筛选出后缀名为ppt或者pptx的文件
if ppt.endswith('ppt') or ppt.endswith('pptx'):
#将获取的文件名字进行分割,提取出文件名,比如1024.ppt,按照下面的规则base=1024,ext=ppt
base, ext = ppt.split('.')
#转换成图片后存放路径
filename = path + '/' + base + '.jpg'
#识别出ppt文件后,拼接成ppt文件存放路径
ppt = path + '/' + ppt
else:
continue
以上,实现文首预期效果,附全部代码
import win32com.client
import os
import sys path = os.path.abspath(os.path.dirname(sys.argv[0])) #获取默认目录下所有文件
filenames = os.listdir(path) def ppt2png(ppt, filename):
# 打开PPT程序
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# 打开ppt文件(后台模式)
ppt = ppt_app.Presentations.Open(ppt)
# 打开的PPT另存为图片文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(filename, 17)
print("转换成功!!!")
# 退出PPT程序
ppt_app.Quit() #循环读取文件名称
for ppt in filenames:
#判断文件名称,筛选出后缀名为ppt或者pptx的文件
if ppt.endswith('ppt') or ppt.endswith('pptx'):
#将获取的文件名字进行分割,提取出文件名,比如1024.ppt,按照下面的规则base=1024,ext=ppt
base, ext = ppt.split('.')
#转换成图片后存放路径
filename = path + '/' + base + '.jpg'
#识别出ppt文件后,拼接成ppt文件存放路径
ppt = path + '/' + ppt
#执行ppt2png方法,转换ppt
ppt2png(ppt, filename)
else:
continue
“win32com.client”的使用参考:https://blog.csdn.net/qq_28304687/article/details/80721653
python处理ppt文件,转换成图片或者pdf文件(获取目录下所有文件信息、文件名称分割、文档操作)的更多相关文章
- 批量将网页转换成图片或PDF文档技巧分享
工作中我们有时要将一些批量的网页转换成图片或者PDF文档格式,尽管多数浏览器具有滚动截屏或者打印输出PDF文档功能.可是假设有几十上百张网页须要处理,那也是要人命的.所以我一直想找一款可以批量处理该工 ...
- wkhtmltox实现网页转换成图片或pdf
1.先下载http://download.gna.org/wkhtmltopdf/obsolete/windows/wkhtmltox-0.11.0_rc1-installer.exe,安装 2.在命 ...
- Linux shell 获取目录下时间最新的文件的文件名
ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}' 逐条解释: ls -lt /dirname/ 列出此目录下的所有文件并按照 ...
- caffe的idx1-ubyte和idx1-ubyte文件转换成图片文件和文本文件
train-images-idx3-ubyte : training set images train-labels-idx1-ubyte : training set labels t10k-i ...
- python 遍历, 获取目录下所有文件名和文件夹的方法-----os.walk(), os.listdir
http://www.runoob.com/python/os-walk.html https://www.cnblogs.com/dreamer-fish/p/3820625.html 转载于:ht ...
- C# 获取目录下文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 用Python将word文件转换成html(转)
用Python将word文件转换成html 序 最近公司一个客户大大购买了一堆医疗健康方面的科普文章,希望能放到我们正在开发的健康档案管理软件上.客户大大说,要智能推送!要掌握节奏!要深度学习!要 ...
- mpp文件转换成jpg图片,可以用pdf文件做中转站
用project软件做了一个表,发现不能转换成图片,先把mpp文件转换成pdf文件,然后用PS打开pdf文件,存储为jpg格式就行了
- 自制 Python小工具 将markdown文件转换成Html文件
今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...
- Ghostscript 将PDF文件转换成PNG图片 问题一二
由于项目需求,需要将原来的PDF文档转换成图片文件,在网上找了一些PDF转图片的方法:测试了几个后,都有这样或那样的问题 1.PDFLibNet.dll,这个类型最初还是挺好用的,能转图片和HTML, ...
随机推荐
- java中的HashSet
什么是HashSet 在 Java 中,HashSet 是一个基于哈希表实现的集合类,它实现了 Set 接口 HashSet 的主要特点是:1,2 HashSet 的主要特点是 1,集合中的数据不能够 ...
- go的math/rand随机数生成器
伪随机数生成器,默认情况下随机数种子是固定的, 注意:固定的随机数种子每次生成的随机数都是相同的随机数序列 一.基础用法 math/rand 包提供了随机数生成的方法.常用的函数包括: rand.In ...
- 解决ECharts官网打开缓慢的问题
本章我们将解决在Windows系统中打开ECharts官网缓慢的问题. 1.问题描述 正常情况下,我们在Windows环境中打开ECharts官网可能会遇到非常缓慢的情况,一直处于加载中,甚至打不开, ...
- Codeforces 1536B Prinzessin der Verurteilung 题解 [ 紫 ] [ 后缀自动机 ] [ 动态规划 ] [ 拓扑排序 ]
Prinzessin der Verurteilung:最短未出现字符串的板子. 思路 考虑在 SAM 上 dp,定义 \(dp_i\) 表示从 \(i\) 节点走到 NULL 节点所花费的最少步数. ...
- 最新demo版|如何0-1开发支付宝小程序之前期准备篇(一)
小程序作为目前一种轻量.便捷的应用.目前应用越来越广泛了. 很多没有开发经验的开发同学可能初次接触就是小程序开发,为了详细讲解下小程序开发的步骤,我会按照小程序的开发流程一步一步从零开始给大家介绍下如 ...
- [BZOJ2741][FOTILE模拟赛] L 题解
相当好的题目,虽然和我前几天出的题重了qwq. \(lmx\) 是我们的红太阳,没有他我们就会死!!! 暴力枚举一个端点,然后用可持久化 \(01\ Trie\) 或者离线 \(Trie\)(当然这题 ...
- 从零开始!Jupyter Notebook 安装教程
一.引言 Jupyter Notebook 是一款非常实用的交互式编程环境,广泛应用于数据分析.机器学习.教学等领域.在安装 Jupyter Notebook 之前,需要确保计算机已安装 Python ...
- Spark - [03] RDD概述
RDD,分布式数据集,是Spark中最基本的数据抽象. 一.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是 Spark 中最基本的数据抽象. 代 ...
- hbase - [06] rowkey的设计
HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这三个维度可以对HBase中的数据进行快速定位 ...
- MySQL - [04] 分布式部署&主从复制&读写分离
一.前言 Q1:为什么需要主从复制? 1.在业务复杂的系统中,有一条SQL语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务.使用主从复制,让主库负责写,从库负责读,这样即使主库出现了锁 ...