幻灯片

本文提供了一系列示例,演示如何使用 Aspose.Slides for Java 处理幻灯片。您将学习如何使用 Presentation 类添加、访问、克隆、重新排序和删除幻灯片。

下面的每个示例都包括简要说明,随后是 Java 代码片段。

添加幻灯片

要添加新幻灯片,首先必须选择布局。在本例中,我们使用 Blank 布局并向演示文稿添加一个空幻灯片。

static void addSlide() {
    Presentation presentation = new Presentation();
    try {
        ILayoutSlide blankLayout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);

        presentation.getSlides().addEmptySlide(blankLayout);
    } finally {
        presentation.dispose();
    }
}

💡 注意: 每个幻灯片布局都源自母版幻灯片,母版定义了整体设计和占位符结构。下图展示了 PowerPoint 中母版幻灯片及其关联布局的组织方式。

母版与布局关系

按索引访问幻灯片

您可以通过索引访问幻灯片,或根据引用查找幻灯片的索引。这对于遍历或修改特定幻灯片非常有用。

static void accessSlide() {
    Presentation presentation = new Presentation();
    try {
        // 添加另一个空幻灯片。
        ILayoutSlide blankLayout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
        presentation.getSlides().addEmptySlide(blankLayout);

        // 按索引访问幻灯片。
        ISlide firstSlide = presentation.getSlides().get_Item(0);
        ISlide secondSlide = presentation.getSlides().get_Item(1);

        // 从引用获取幻灯片索引,然后按索引访问它。
        int secondSlideIndex = presentation.getSlides().indexOf(secondSlide);
        ISlide secondSlideByIndex = presentation.getSlides().get_Item(secondSlideIndex);
    } finally {
        presentation.dispose();
    }
}

克隆幻灯片

本示例演示如何克隆现有幻灯片。克隆的幻灯片会自动添加到幻灯片集合的末尾。

static void cloneSlide() {
    Presentation presentation = new Presentation();
    try {
        ISlide firstSlide = presentation.getSlides().get_Item(0);

        ISlide clonedSlide = presentation.getSlides().addClone(firstSlide);

        int clonedSlideIndex = presentation.getSlides().indexOf(clonedSlide);
    } finally {
        presentation.dispose();
    }
}

重新排序幻灯片

您可以通过将幻灯片移动到新的索引来更改顺序。在本例中,我们将克隆的幻灯片移动到第一位置。

static void reorderSlide() {
    Presentation presentation = new Presentation();
    try {
        ISlide firstSlide = presentation.getSlides().get_Item(0);

        ISlide clonedSlide = presentation.getSlides().addClone(firstSlide);

        presentation.getSlides().reorder(0, clonedSlide);
    } finally {
        presentation.dispose();
    }
}

删除幻灯片

要删除幻灯片,只需引用它并调用 remove。本示例先添加第二张幻灯片,然后删除原始幻灯片,最终仅保留新幻灯片。

static void removeSlide() {
    Presentation presentation = new Presentation();
    try {
        ILayoutSlide blankLayout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
        ISlide secondSlide = presentation.getSlides().addEmptySlide(blankLayout);

        ISlide firstSlide = presentation.getSlides().get_Item(0);
        presentation.getSlides().remove(firstSlide);
    } finally {
        presentation.dispose();
    }
}