我正在 python 中构建一个文档检索引擎,它返回根据用户提交的查询的相关性排序的文档。我有一组文档,其中还包括 PowerPoint 文件。对于 PPT,在结果页面上,我想向用户显示前几张幻灯片的标题,以便为他/她提供更清晰的图片(有点像我们在 Google 搜索中看到的)。
所以基本上,我想使用python从PPT文件中提取幻灯片标题中的文本。我为此使用了python-pptx包。目前我的实现看起来像这样
from pptx import Presentation
prs = Presentation(filepath) # load the ppt
slide_titles = [] # container foe slide titles
for 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(""" !@#$%^&*)(_-+=}{][:;<,>.?"'/<,""")+ '. ')
但正如您所看到的,我假设每张幻灯片上的零索引形状是幻灯片标题,显然并非每次都如此。关于如何做到这一点的任何想法?
提前致谢。