Python PPTX 读取幻灯片编号(页码)
Python PPTX read slide number (page number)
我正在为由 Python-PPTX 生成的幻灯片定制 table 内容。
对于已经设置好的幻灯片、页脚和幻灯片编号,我已经可以在生成的 PPTX 中查看它。我相信幻灯片编号已经存在,只需要阅读。
我的问题是,是否可以从幻灯片对象或其他地方访问幻灯片编号信息?整体脚本如下所示:
from pptx import Presentation
prs = Presentation()
for x in 'abc':
s = prs.slides.add_slide(prs.slide_layouts[6])
if x=='b':
s.placeholders[0].text = <str: page number of current slide 's'>
据我所知,幻灯片没有幻灯片编号属性,所有幻灯片编号都是幻灯片在演示文稿中的位置。出现在页脚中的幻灯片编号是一个 sld-num 字段元素,当您在 PowerPoint 应用程序中时它会显示此位置,但此编号的计算方式相同。
创建自定义幻灯片放映时可能会有一些特殊行为,例如跳过“隐藏”的幻灯片编号,但我还没有试验过。
对于一般用途,最简单的获取方式如下:
slides = prs.slides
for slide in slides:
print('slide number %d' % slides.index(slide)+1)
我不确定这是否是您在评论中所说的,但是在 Slides
上使用 index()
方法可能比类似的方法更灵活:
for idx, slide in enumerate(slides):
print('slide number %d' % idx+1)
或
def slide_number(slides, slide):
for idx, s is enumerate(slides):
if s == slide:
return idx+1
您确实需要同时引用 slides
和 slide
才能使其正常工作。
您可以使用 index() 方法访问幻灯片编号。
slide_id = prs.slides.index(slide)
要使用幻灯片 ID 访问幻灯片,您可以使用 get() 方法。
slide = prs.slides.get(slide_id)
更多信息请参考以下link:
https://python-pptx.readthedocs.io/en/latest/api/slides.html
您可以统计每张幻灯片的数量和总数。
首先,获取每张幻灯片编号。
for slide in prs.slides:
slide_cnt = slide_cnt + 1
print(slide_cnt)
二、获取幻灯片总数。
from pptx import Presentation
prs = Presentation("path/example.pptx")
print(len(prs.slides))
我正在为由 Python-PPTX 生成的幻灯片定制 table 内容。 对于已经设置好的幻灯片、页脚和幻灯片编号,我已经可以在生成的 PPTX 中查看它。我相信幻灯片编号已经存在,只需要阅读。
我的问题是,是否可以从幻灯片对象或其他地方访问幻灯片编号信息?整体脚本如下所示:
from pptx import Presentation
prs = Presentation()
for x in 'abc':
s = prs.slides.add_slide(prs.slide_layouts[6])
if x=='b':
s.placeholders[0].text = <str: page number of current slide 's'>
据我所知,幻灯片没有幻灯片编号属性,所有幻灯片编号都是幻灯片在演示文稿中的位置。出现在页脚中的幻灯片编号是一个 sld-num 字段元素,当您在 PowerPoint 应用程序中时它会显示此位置,但此编号的计算方式相同。
创建自定义幻灯片放映时可能会有一些特殊行为,例如跳过“隐藏”的幻灯片编号,但我还没有试验过。
对于一般用途,最简单的获取方式如下:
slides = prs.slides
for slide in slides:
print('slide number %d' % slides.index(slide)+1)
我不确定这是否是您在评论中所说的,但是在 Slides
上使用 index()
方法可能比类似的方法更灵活:
for idx, slide in enumerate(slides):
print('slide number %d' % idx+1)
或
def slide_number(slides, slide):
for idx, s is enumerate(slides):
if s == slide:
return idx+1
您确实需要同时引用 slides
和 slide
才能使其正常工作。
您可以使用 index() 方法访问幻灯片编号。
slide_id = prs.slides.index(slide)
要使用幻灯片 ID 访问幻灯片,您可以使用 get() 方法。
slide = prs.slides.get(slide_id)
更多信息请参考以下link:
https://python-pptx.readthedocs.io/en/latest/api/slides.html
您可以统计每张幻灯片的数量和总数。
首先,获取每张幻灯片编号。
for slide in prs.slides:
slide_cnt = slide_cnt + 1
print(slide_cnt)
二、获取幻灯片总数。
from pptx import Presentation
prs = Presentation("path/example.pptx")
print(len(prs.slides))