プレゼンテーション内のスライドにアクセスする

Aspose.Slidesを使用すると、スライドにインデックスまたはIDによってアクセスできます。

インデックスによるスライドへのアクセス

プレゼンテーション内のすべてのスライドは、スライドの位置に基づいて0から始まる数値で配置されています。最初のスライドはインデックス0を通じてアクセス可能であり、2番目のスライドはインデックス1を介してアクセスされます。

Presentationクラスは、プレゼンテーションファイルを表しており、すべてのスライドをISlideCollectionコレクション(ISlideオブジェクトのコレクション)として公開しています。このJavaコードは、スライドのインデックスを介してスライドにアクセスする方法を示しています:

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
Presentation pres = new Presentation("demo.pptx");
try {
    // スライドインデックスを使用してスライドにアクセスします
    ISlide slide = pres.getSlides().get_Item(0);
} finally {
    pres.dispose();
}

IDによるスライドへのアクセス

プレゼンテーション内の各スライドには、一意のIDが関連付けられています。getSlideByIdメソッド(Presentationクラスによって公開)を使用して、そのIDをターゲットにすることができます。このJavaコードは、有効なスライドIDを提供し、getSlideByIdメソッドを介してそのスライドにアクセスする方法を示しています:

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
Presentation pres = new Presentation("demo.pptx");
try {
    // スライドIDを取得します
    int id = (int) pres.getSlides().get_Item(0).getSlideId();
    
    // IDを介してスライドにアクセスします
    IBaseSlide slide = pres.getSlideById(id);
} finally {
    pres.dispose();
}

スライド位置を変更する

Aspose.Slidesを使用すると、スライドの位置を変更できます。たとえば、最初のスライドを2番目のスライドにすることができます。

  1. Presentationクラスのインスタンスを作成します。
  2. インデックスを介してスライドの参照を取得します(位置を変更したいスライド)。
  3. setSlideNumberプロパティを介してスライドの新しい位置を設定します。
  4. 修正されたプレゼンテーションを保存します。

このJavaコードは、位置1のスライドを位置2に移動する操作を示しています:

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
Presentation pres = new Presentation("Presentation.pptx");
try {
    // 位置を変更するスライドを取得します
    ISlide sld = pres.getSlides().get_Item(0);
    
    // スライドの新しい位置を設定します
    sld.setSlideNumber(2);
    
    // 修正されたプレゼンテーションを保存します
    pres.save("helloworld_Pos.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

最初のスライドが2番目になり、2番目のスライドが最初になりました。スライドの位置を変更すると、他のスライドは自動的に調整されます。

スライド番号を設定する

setFirstSlideNumberプロパティ(Presentationクラスによって公開)を使用して、プレゼンテーション内の最初のスライドに新しい番号を指定できます。この操作により、他のスライド番号が再計算されます。

  1. Presentationクラスのインスタンスを作成します。
  2. スライド番号を取得します。
  3. スライド番号を設定します。
  4. 修正されたプレゼンテーションを保存します。

このJavaコードは、最初のスライド番号を10に設定する操作を示しています:

// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
Presentation pres = new Presentation("HelloWorld.pptx");
try {
    // スライド番号を取得します
    int firstSlideNumber = pres.getFirstSlideNumber();

    // スライド番号を設定します
    pres.setFirstSlideNumber(10);
	
    // 修正されたプレゼンテーションを保存します
    pres.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

最初のスライドをスキップしたい場合は、2番目のスライドから番号を付け始めることができます(最初のスライドの番号付けを隠す):

Presentation presentation = new Presentation();
try {
    ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
    presentation.getSlides().addEmptySlide(layoutSlide);
    presentation.getSlides().addEmptySlide(layoutSlide);
    presentation.getSlides().addEmptySlide(layoutSlide);

    // 最初のプレゼンテーションスライドに番号を設定します
    presentation.setFirstSlideNumber(0);

    // すべてのスライドにスライド番号を表示します
    presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(true);

    // 最初のスライドのスライド番号を非表示にします
    presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(false);

    // 修正されたプレゼンテーションを保存します
    presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (presentation != null) presentation.dispose();
}