スライド

この記事では、Aspose.Slides for PHP via Java を使用してスライドを操作する方法を示す一連の例を提供します。Presentation クラスを使用してスライドの追加、アクセス、クローン、並べ替え、削除の方法を学びます。

以下の各例には簡単な説明と、PHP のコードスニペットが続きます。

スライドの追加

新しいスライドを追加するには、まずレイアウトを選択する必要があります。この例では Blank レイアウトを使用し、プレゼンテーションに空のスライドを追加します。

function addSlide() {
    $presentation = new Presentation();
    try {
        // 各スライドはレイアウトに基づいており、レイアウト自体はマスタースライドに基づいています。
        // 新しいスライドを作成するには Blank レイアウトを使用します。
        $blankLayout = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank);

        // 選択したレイアウトを使用して新しい空のスライドを追加します。
        $presentation->getSlides()->addEmptySlide($blankLayout);

        $presentation->save("slide.pptx", SaveFormat::Pptx);
    } finally {
        $presentation->dispose();
    }
}

💡 Tip: 各スライドレイアウトはマスター スライドから派生しており、全体的なデザインとプレースホルダー構造を定義します。以下の画像は、PowerPoint でマスター スライドとそれに関連するレイアウトがどのように整理されているかを示しています。

マスターとレイアウトの関係

インデックスでスライドにアクセス

function accessSlide() {
    $presentation = new Presentation("slide.pptx");
    try {
        // インデックスでスライドにアクセスします。
        $firstSlide = $presentation->getSlides()->get_Item(0);
    } finally {
        $presentation->dispose();
    }
}

スライドのクローン作成

この例では、既存のスライドをクローンする方法を示します。クローンされたスライドは自動的にスライドコレクションの末尾に追加されます。

function cloneSlide() {
    // デフォルトでは、プレゼンテーションには空のスライドが1枚含まれています。
    $presentation = new Presentation();
    try {
        $slide = $presentation->getSlides()->get_Item(0);

        // 最初のスライドをクローンします。クローンはプレゼンテーションの末尾に追加されます。
        $clonedSlide = $presentation->getSlides()->addClone($slide);

        // クローンされたスライドのインデックスは 1 です(プレゼンテーションの2枚目のスライド)。
        $clonedSlideIndex = $presentation->getSlides()->indexOf($clonedSlide);

        $presentation->save("slide_cloned.pptx", SaveFormat::Pptx);
    } finally {
        $presentation->dispose();
    }
}

スライドの並び替え

スライドを新しいインデックスに移動させることで順序を変更できます。この例では、スライドを最初の位置に移動します。

function reorderSlide() {
    $presentation = new Presentation("slide.pptx");
    try {
        $slide = $presentation->getSlides()->get_Item(1);

        // スライドを最初の位置に移動します(他のスライドは下にシフトします)。
        $presentation->getSlides()->reorder(0, $slide);

        $presentation->save("slide_reordered.pptx", SaveFormat::Pptx);
    } finally {
        $presentation->dispose();
    }
}

スライドの削除

スライドを削除するには、対象を参照して remove を呼び出すだけです。この例では、インデックスと参照の両方でスライドを削除します。

function removeSlide() {
    $presentation = new Presentation("slide.pptx");
    try {
        // インデックスでスライドを削除します。
        $presentation->getSlides()->removeAt(0);

        // 参照でスライドを削除します。
        $slide = $presentation->getSlides()->get_Item(0);
        $presentation->getSlides()->remove($slide);

        $presentation->save("slides_removed.pptx", SaveFormat::Pptx);
    } finally {
        $presentation->dispose();
    }
}