python使用演示文稿-Python-pptx 从演示文稿中的幻灯片中提取所有文本

d44ad7a9d3aa

060210341567_0???≤a√?_0.png

代码

import json

from pptx import Presentation

from pptx.enum.shapes import MSO_SHAPE_TYPE

def ppt_catch_format_text(filename):

"""

抓取PPT的内容,按段落返回

其中 filename 是PPT文件的路径

"""

prs = Presentation(filename)

txt_oa = {}

for x in range(len(prs.slides)):

txt_oa[x] = []

# ---Only on text-boxes outside group elements---

for shape in prs.slides[x].shapes:

if hasattr(shape, "text"):

row_text = shape.text.encode('utf-8').strip().decode()

txt_oa[x].append(row_text)

# ---Only operate on group shapes---

group_shapes = [shp for shp in prs.slides[x].shapes

if shp.shape_type ==MSO_SHAPE_TYPE.GROUP]

for group_shape in group_shapes:

for shape in group_shape.shapes:

if shape.has_text_frame:

row_text = shape.text.encode('utf-8').strip().decode()

txt_oa[x].append(row_text)

return txt_oa

text_list = ppt_catch_format_text('Doraemon.pptx')

text_list = json.dumps(text_list, ensure_ascii=False, indent=4).replace("\n","")

print(text_list)

PPT 文件

d44ad7a9d3aa

060210594077.png

这里的 PPT 有3页,注意 PPT 文件的后缀一定要是 .pptx

提取内容

{

"0": [

"我之所以到现在还怎么没用,是因为我不想离开哆啦A梦"

],

"1": [

"你看,不倒翁站起来了,大雄也可以自己站起来啊!"

],

"2": [

"你受伤的时候,我永远都在。"

]

}

这里把从 PPT 中取出的内容转 JSON 并格式化输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值