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格式。

python 实现提取PPT中所有的文字

▲ 使用PPT的SaveAs将PPTX存储为JPEG

注意,在最后一步的时候需要选择“所有幻灯片(A)”。

python 实现提取PPT中所有的文字

▲ 选择所有幻灯片

最后,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")

python 实现提取PPT中所有的文字

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')

python 实现提取PPT中所有的文字

▌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。

python 实现提取PPT中所有的文字

▲ 生成后的PPTX对应的PNG图片

※ 结论

将PPTX转换成图片,可以便于后期将文件上载到CSDN,或者用于DOP文件的制作。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

来源:https://blog.csdn.net/jeanjing222/article/details/108283323

标签:python,PPT,文字
0
投稿

猜你喜欢

  • Win10安装MySQL5.7.18winX64 启动服务器失败并且没有错误提示

    2024-01-27 04:59:14
  • JSP组件commons-fileupload实现文件上传

    2023-07-03 03:16:01
  • python数据处理 根据颜色对图片进行分类的方法

    2022-02-27 08:41:37
  • SWF FLASH的param属性参数详解

    2008-10-25 15:12:00
  • Gradio机器学习模型快速部署工具接口状态

    2023-08-11 13:36:27
  • sql删除重复数据的详细方法

    2024-01-14 15:22:21
  • Python Tkinter基础控件用法

    2023-04-11 18:35:14
  • 细化解析:怎样把你的MySQL完全中文化

    2008-12-19 17:48:00
  • PyTorch一小时掌握之图像识别实战篇

    2023-01-28 00:08:01
  • asp 横排显示数据

    2011-03-10 10:50:00
  • Python实现的knn算法示例

    2022-09-21 14:35:09
  • nodejs开发——express路由与中间件

    2024-05-11 10:18:04
  • bootstrap flask登录页面编写实例

    2024-04-16 08:49:19
  • MySQL 客户端不输入用户名和密码直接连接数据库的2个方法

    2024-01-14 05:30:41
  • 苹果的“创新”

    2010-01-12 13:45:00
  • 两个命令把 Vim 打造成 Python IDE的方法

    2022-01-20 09:31:31
  • ASP开发中有用的函数(function)集合(2)

    2008-10-14 17:17:00
  • Python中使用haystack实现django全文检索搜索引擎功能

    2023-06-30 07:21:03
  • Python中使用zip函数的七重境界解析

    2021-04-01 19:38:43
  • python如何查看系统网络流量的信息

    2022-11-03 13:54:08
  • asp之家 网络编程 m.aspxhome.com