版面投影片

本文示範如何在 Aspose.Slides for Java 中使用 Layout Slides。版面投影片定義了普通投影片繼承的設計與格式。您可以新增、存取、複製與移除版面投影片,並清理未使用的版面投影片以減少簡報檔案大小。

新增版面投影片

您可以建立自訂版面投影片以定義可重複使用的格式。例如,您可以新增一個文字方塊,使所有使用此版面的投影片皆顯示它。

static void addLayoutSlide() {
    Presentation presentation = new Presentation();
    try {
        IMasterSlide masterSlide = presentation.getMasters().get_Item(0);

        // 建立具有空白版面類型和自訂名稱的版面投影片。
        ILayoutSlide layoutSlide = presentation.getLayoutSlides().add(masterSlide, SlideLayoutType.Blank, "Main layout");

        // 在版面投影片上新增文字方塊。
        IAutoShape layoutTextBox = layoutSlide.getShapes().addAutoShape(ShapeType.Rectangle, 75, 75, 150, 150);
        layoutTextBox.getTextFrame().setText("Layout Slide Text");

        // 使用此版面新增兩張投影片;兩者皆會繼承版面的文字。
        presentation.getSlides().addEmptySlide(layoutSlide);
        presentation.getSlides().addEmptySlide(layoutSlide);
    } finally {
        presentation.dispose();
    }
}

💡 Note 1: 版面投影片充當各個投影片的範本。您可以一次定義共用元素,並在多個投影片中重複使用它們。

💡 Note 2: 當您在版面投影片上加入圖形或文字時,所有基於該版面的投影片都會自動顯示此共用內容。下方的螢幕截圖顯示兩張投影片,各自從相同的版面投影片繼承了一個文字方塊。

繼承版面內容的投影片

存取版面投影片

版面投影片可以透過索引或版面類型(例如 BlankTitleSectionHeader 等)存取。

static void accessLayoutSlide() {
    Presentation presentation = new Presentation();
    try {
        // 依索引存取版面投影片。
        ILayoutSlide firstLayoutSlide = presentation.getLayoutSlides().get_Item(0);

        // 依類型存取版面投影片。
        ILayoutSlide blankLayoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
    } finally {
        presentation.dispose();
    }
}

移除版面投影片

如果不再需要,您可以移除特定的版面投影片。

static void removeLayoutSlide() {
    Presentation presentation = new Presentation();
    try {
        // 依類型取得版面投影片並將其移除。
        ILayoutSlide blankLayoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Custom);
        presentation.getLayoutSlides().remove(blankLayoutSlide);
    } finally {
        presentation.dispose();
    }
}

移除未使用的版面投影片

為了減少簡報檔案大小,您可能想要移除所有普通投影片皆未使用的版面投影片。

static void removeUnusedLayoutSlides() {
    Presentation presentation = new Presentation();
    try {
        // 自動移除所有未被任何投影片參照的版面投影片。
        presentation.getLayoutSlides().removeUnused();
    } finally {
        presentation.dispose();
    }
}

複製版面投影片

您可以使用 addClone 方法來複製版面投影片。

static void cloneLayoutSlides() {
    Presentation presentation = new Presentation();
    try {
        // 取得現有的版面投影片(依類型)。
        ILayoutSlide blankLayoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);

        // 將版面投影片複製至版面投影片集合的最後。
        ILayoutSlide clonedLayoutSlide = presentation.getLayoutSlides().addClone(blankLayoutSlide);
    } finally {
        presentation.dispose();
    }
}

Summary: 版面投影片是管理投影片間一致格式的強大工具。Aspose.Slides 提供完整的控制權,讓您能建立、管理與最佳化版面投影片。