python-pptx从幻灯片标题中提取文本
我正在用python构建一个文档检索引擎,该引擎返回按与用户提交的查询相关性排序的文档。我收集了一些文档,其中也包括PowerPoint文件。对于PPT,我想在结果页面上向用户显示前几张幻灯片标题,以便为他/她提供更清晰的图片(有点像我们在Google搜索中看到的那样)。
因此,基本上,我想使用python从PPT文件中的幻灯片标题中提取文本。我正在使用python-pptx包。目前,我的实现看起来像这样
from pptx import Presentationprs = Presentation(filepath) # load the pptslide_titles = [] # container foe slide titlesfor slide in prs.slides: # iterate over each slide title_shape = slide.shapes[0] # consider the zeroth indexed shape as the title if title_shape.has_text_frame: # is this shape has textframe attribute true then # check if the slide title already exists in the slide_title container if title_shape.text.strip(""" !@#$%^&*)(_-+=}{][:;<,>.?"'/<,""")+ '. ' not in slide_titles: slide_titles.append(title_shape.text.strip(""" !@#$%^&*)(_-+=}{][:;<,>.?"'/<,""")+ '. ')
但是,正如您所看到的,我假设每张幻灯片上的零索引形状都是幻灯片标题,显然并非每次都这样。关于如何实现此目标的任何想法?
Slide.shapes
(SlideShapes
对象)具有以下属性:当存在一个(通常为)时,该属性返回标题形状;如果不存在标题,则返回None。http://python-pptx.readthedocs.io/zh-CN/latest/api/shapes.html#slideshapes-objects.title
这是访问标题形状的首选方法。
请注意,并非所有幻灯片都具有标题形状,因此您必须测试None
结果以避免这种情况下的错误。
还要注意,用户有时会使用不同的标题形状,例如他们添加的单独的新文本框。因此,您不能保证将“出现”的文本作为幻灯片中的标题。但是,您将获得与PowerPoint认为的标题相匹配的文本,例如,它在“大纲”视图中显示为该幻灯片的标题的文本。
本文由 帝一博客 原创发布。用户在本站发布的原创内容(包括但不仅限于回答、文章和评论),著作权均归用户本人所有。独家文章转载,请联系邮箱:17762131@qq.com。获得授权后,须注明本文地址: https://bubukou.com/pythonpachong/1775.html
-
【原创】python_docx制作word文档实例demo
2019-10-29 16:15
-
python遍历字典dict
2019-09-22 12:05
-
python 两个list合并成一个dict的方法
2019-09-22 11:56
-
【原创】python 爬取wowo扣扣爬虫代码
2019-09-05 14:46
-
windows 怎么安装 python 的 win32 wi...
2019-08-10 18:15
-
[原创]python 证书验证http 304问题
2019-08-07 14:02
-
【原创】python 爬取小清新唯美图片
2019-07-18 22:19
-
Python简单计算文件MD5值的方法示例
2019-07-18 22:13
-
从零开始Python对redis作为消息队列的使用
2019-07-10 08:37
-
如何安装python到setuptools、pip工具安装
2019-07-10 07:52
网友留言评论