python 实现提取PPT中所有的文字
作者:啊呀啊呀静 发布时间:2023-05-01 04:21:35
我就废话不多说了,大家还是直接看代码吧~
# 导入pptx包
from pptx import Presentation
prs = Presentation(path_to_presentation)
text_runs = []
for slide in prs.slides:
for shape in slide.shapes:
if not shape.has_text_frame:
continue
for paragraph in shape.text_frame.paragraphs:
for run in paragraph.runs:
text_runs.append(run.text)
补充:使用 python-pptx-interface 将PPT转换成图片
▌00 简单方法
最简单的方法就是使用PPTX的File中的SaveAs命令,将PPTX文件另存为JPEG格式。
▲ 使用PPT的SaveAs将PPTX存储为JPEG
注意,在最后一步的时候需要选择“所有幻灯片(A)”。
▲ 选择所有幻灯片
最后,PPTX的每张幻灯片都以独立文件方式保存到文件中。X
这部分的内容可以参照: How to Export PowerPoint Slides as JPG or Other Image Formats 中的介绍。
▌01 使用Python-PPTX
1.简介
python-pptx是用于创建和更新PointPoint(PPTX)文件的Python库。
一种常用的场合就是从数据库内容生成一个客户定制的PointPoint文件,这个过程通过点击WEB应用上的连接完成。许多开发之 通过他们日常管理系统生成工程状态汇报PPT。它也可以用于批量生成PPT或者产品特性说明PPT。
python-ppt License:
The MIT License (MIT) Copyright © 2013 Steve Canny, https://github.com/scanny
Python-PPTX对应的官方网络网址: Python-PPTX https://python-pptx.readthedocs.io/en/latest/user/intro.html#
2.安装
使用pip进行安装:
pip install python-pptx
对于python要求: Python2.7,3.3,3.4,3.6
依赖库:
Python 2.6, 2.7, 3.3, 3.4, or 3.6
lxml
Pillow
XlsxWriter (to use charting features)
▌02 测试
下面的例子来自于: Get Start 。
1. Hello Word
from pptx import Presentation
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = 'Hello world!'
subtitle.text = 'python-pptx was here.'
prs.save(r'd:\temp\test.pptx')
printf("\a")
2.Add_TextBox
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)
left = top = width = height = Inches(1)
txBox = slide.shapes.add_textbox(left, top, width, height)
tf = txBox.text_frame
tf.text = "This is text inside a textbox"
p = tf.add_paragraph()
p.text = "This is a second paragraph that's bold"
p.font.bold = True
p = tf.add_paragraph()
p.text = "This is a third paragraph that's big"
p.font.size = Pt(40)
prs.save(r'd:\temp\test1.pptx')
▌03 输出JPEG
1.安装 python-pptx-interface
pip install python-pptx-interface
2.转换PPTX
注意:转换生成的目录必须使用新的目录。否则就会出现:
Folder d:\temp\pptimage already exists. Set overwrite_folder=True, if you want to overwrite folder content.
from pptx_tools import utils
pptfile = r'D:\Temp\如何搭建自己的电子实验室_20210102R10.pptx'
png_folder = r'd:\temp\pptimage'
utils.save_pptx_as_png(png_folder, pptfile, overwrite_folder=True)
生成后的PPT对应的PNGImage。
▲ 生成后的PPTX对应的PNG图片
※ 结论
将PPTX转换成图片,可以便于后期将文件上载到CSDN,或者用于DOP文件的制作。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/jeanjing222/article/details/108283323
猜你喜欢
- 一、random模块简介Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打
- 如果你经常浏览网页一定见过很多网站在form表单中的文本域(textarea)中添加了的背景图片,一般是使用网站的logo,我记得我最早注意
- 可输入的下拉列表框(select),这个不同于网页上常见的下拉列表框,那个是只能选择不能输入的,而这个是可以自己输入文字的。例如:我们最常见
- 第一步、导入需要的包import osimport scipy.io as sioimport numpy as npimport torc
- 一、背景描述csv格式文件是一种类似于excel的文件格式asc格式文件是一种可以用text打开的文本文件csv转asc本来可以用arcgi
- 前言大家好,我是小张~记得小时候,家里只有一个钟表用来看时间(含有时针、分针、秒针的那种),挂在墙上哒哒哒响个不停,现在生活条件好了、基本人
- 三重相等运算符 === 严格检查2个值是否相同:1 === 1; // => true1 === '1';
- 目录问题复现隐式转换总结参考问题在工作中发现,有一个接口只执行一条SQL查询语句,并且SQL明明使用了主键列,但是速度很慢。在MySQL中E
- <?php class Mysql { private $conn; private $host; private $username
- python软件免费吗?python是免费的,是自由、开放源码的软件之一,在python官网可以免费下载,使用者可以自由地发布这个软件的拷贝
- 英文文档:class type(object)class type(name, bases, dict)With one argument,
- 需求分析“员工刷脸考勤”系统,采用Python语言开发,可以通过摄像头添加员工面部信息,这里就涉及到两个具体的个问题,一个是应该以什么样的数
- 经过1个周的摸索和查阅资料,终于搞定VUE3中自定义指令,实现按钮级别的权限控制。当然,只是简单的对按钮进行隐藏和删除的dom操作比较容易,
- 代码如下:DECLARE @c INT DECLARE @c2 INT SELECT @c = COUNT(1) FROM dbo.Spli
- PDOStatement::closeCursorPDOStatement::closeCursor — 关闭游标,使语句能再次被执行。(P
- 如下所示:a = [99,1,2,1,3,4]# 集合存储重复数据b=set()for i in a: if a.count(i
- 从url中找到域名,首先想到的是用正则,然后寻找相应的类库。用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等。通过go
- 注:本文针对单个服务器上多块GPU的使用,不是多服务器多GPU的使用。在一些实验中,由于Batch_size的限制或者希望提高训练速度等原因
- 数据库在时回加for xml auto调用方法 SqlCommand SqlComm=
- 作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情。部署一次程序要使用好几个工具,