在演示文稿中访问幻灯片
Contents
[
Hide
]
Aspose.Slides 允许您通过两种方式访问幻灯片:通过索引和通过 ID。
按索引访问幻灯片
演示文稿中的所有幻灯片按幻灯片位置的数字顺序排列,从 0 开始。第一张幻灯片通过索引 0 访问;第二张幻灯片通过索引 1 访问;以此类推。
表示演示文稿文件的 Presentation 类将所有幻灯片暴露为 ISlideCollection 集合(ISlide 对象的集合)。以下 Python 代码展示了如何通过其索引访问一张幻灯片:
import aspose.slides as slides
# 实例化一个表示演示文稿文件的 Presentation 对象
with slides.Presentation(path + "AccessSlides.pptx") as presentation:
# 通过索引获取幻灯片的引用
slide = presentation.slides[0]
按 ID 访问幻灯片
演示文稿中的每张幻灯片都有一个唯一的 ID 与之关联。您可以使用 get_slide_by_id(id)
方法(由 Presentation 类暴露)来定位该 ID。以下 Python 代码展示了如何提供有效的幻灯片 ID 并通过 get_slide_by_id(id)
方法访问该幻灯片:
import aspose.slides as slides
# 实例化一个表示演示文稿文件的 Presentation 对象
with slides.Presentation(path + "AccessSlides.pptx") as presentation:
# 获取幻灯片 ID
id = presentation.slides[0].slide_id
# 通过其 ID 访问幻灯片
slide = presentation.get_slide_by_id(id)
改变幻灯片位置
Aspose.Slides 允许您改变幻灯片的位置。例如,您可以指定第一张幻灯片应成为第二张幻灯片。
- 创建 Presentation 类的实例。
- 通过索引获取要改变位置的幻灯片的引用。
- 通过
slide_number
属性设置幻灯片的新位置。 - 保存修改后的演示文稿。
以下 Python 代码演示了一个操作,其中位置为 1 的幻灯片被移动到位置 2:
import aspose.slides as slides
# 实例化一个表示演示文稿文件的 Presentation 对象
with slides.Presentation(path + "ChangePosition.pptx") as pres:
# 获取将要改变位置的幻灯片
sld = pres.slides[0]
# 设置幻灯片的新位置
sld.slide_number = 2
# 保存修改后的演示文稿
pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX)
第一张幻灯片成为了第二张;第二张幻灯片成为了第一张。当您改变幻灯片位置时,其他幻灯片会自动调整。
设置幻灯片编号
通过 Presentation 类暴露的 first_slide_number
属性,您可以为演示文稿中的第一张幻灯片指定一个新编号。此操作会导致其他幻灯片编号重新计算。
- 创建 Presentation 类的实例。
- 获取幻灯片编号。
- 设置幻灯片编号。
- 保存修改后的演示文稿。
以下 Python 代码演示了一个操作,其中第一张幻灯片的编号被设置为 10:
import aspose.slides as slides
# 实例化一个表示演示文稿文件的 Presentation 对象
with slides.Presentation(path + "HelloWorld.pptx") as presentation:
# 获取幻灯片编号
firstSlideNumber = presentation.first_slide_number
# 设置幻灯片编号
presentation.first_slide_number = 10
# 保存修改后的演示文稿
presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX)
如果您想跳过第一张幻灯片,可以从第二张幻灯片开始编号(并隐藏第一张幻灯片的编号),可以这样实现:
import aspose.slides as slides
with slides.Presentation() as presentation:
layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
presentation.slides.add_empty_slide(layout_slide)
presentation.slides.add_empty_slide(layout_slide)
presentation.slides.add_empty_slide(layout_slide)
# 设置演示文稿第一张幻灯片的编号
presentation.first_slide_number = 0
# 显示所有幻灯片的编号
presentation.header_footer_manager.set_all_slide_numbers_visibility(True)
# 隐藏第一张幻灯片的编号
presentation.slides[0].header_footer_manager.set_slide_number_visibility(False)
# 保存修改后的演示文稿
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)