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

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番目のスライドが1番目になりました。スライドの位置を変更すると、他のスライドは自動的に調整されます。

スライド番号を設定する

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();
}