# 幻灯片

> 在 Aspose.Slides for Python via Java 中管理幻灯片：通过 Python 代码示例实现添加、访问、克隆、重新排序和删除 PowerPoint 与 OpenDocument 演示文稿的幻灯片。

Source: https://docs.aspose.com/slides/zh/python-java/examples/elements/slide/
Updated: 2026-09-07

本文提供示例，演示如何使用 **Aspose.Slides for Python via Java** 添加、访问、克隆、重新排序和删除幻灯片。

按照 [Installation](/slides/zh/python-java/installation/) 中的说明安装包。每个示例在启动 JVM 之前导入 `asposeslides`，在 JVM 运行后再导入 API。

## **添加幻灯片**

要添加新幻灯片，首先选择布局。此示例使用空白布局向演示文稿添加空幻灯片。

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SlideLayoutType

presentation = Presentation()
try:
    blank_layout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank)

    presentation.getSlides().addEmptySlide(blank_layout)
finally:
    presentation.dispose()
```

{{% alert color="info" title="Note" %}}
每个幻灯片布局都来源于母版幻灯片，母版定义了整体设计和占位符结构。下图展示了 PowerPoint 中母版幻灯片及其关联布局的组织方式。
{{% /alert %}}

![母版与布局关系](master-layout-slide.png)

## **按索引访问幻灯片**

使用零基索引访问幻灯片，或根据引用查找幻灯片的索引。这对于遍历或修改特定幻灯片非常有用。

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SlideLayoutType

presentation = Presentation()
try:
    # 添加另一个空白幻灯片。
    blank_layout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank)
    presentation.getSlides().addEmptySlide(blank_layout)

    # 通过索引访问幻灯片。
    first_slide = presentation.getSlides().get_Item(0)
    second_slide = presentation.getSlides().get_Item(1)

    # 从引用获取幻灯片的索引，然后通过索引访问它。
    second_slide_index = presentation.getSlides().indexOf(second_slide)
    second_slide_by_index = presentation.getSlides().get_Item(second_slide_index)
finally:
    presentation.dispose()
```

## **克隆幻灯片**

克隆现有幻灯片。克隆的幻灯片会自动添加到幻灯片集合的末尾。

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation

presentation = Presentation()
try:
    first_slide = presentation.getSlides().get_Item(0)

    cloned_slide = presentation.getSlides().addClone(first_slide)

    cloned_slide_index = presentation.getSlides().indexOf(cloned_slide)
finally:
    presentation.dispose()
```

## **重新排序幻灯片**

通过将幻灯片移动到新索引来更改顺序。此示例将克隆的幻灯片移动到第一位置。

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation

presentation = Presentation()
try:
    first_slide = presentation.getSlides().get_Item(0)

    cloned_slide = presentation.getSlides().addClone(first_slide)

    presentation.getSlides().reorder(0, cloned_slide)
finally:
    presentation.dispose()
```

## **删除幻灯片**

通过将幻灯片引用传递给幻灯片集合来删除幻灯片。此示例添加第二张幻灯片后删除原始幻灯片，最终仅保留新幻灯片。

```python
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SlideLayoutType

presentation = Presentation()
try:
    blank_layout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank)
    second_slide = presentation.getSlides().addEmptySlide(blank_layout)

    first_slide = presentation.getSlides().get_Item(0)
    presentation.getSlides().remove(first_slide)
finally:
    presentation.dispose()
```
