プレゼンテーションからスライドを削除する

スライド(またはその内容)が冗長になった場合は、削除できます。Aspose.Slidesは、プレゼンテーション内のすべてのスライドのリポジトリであるISlideCollectionをカプセル化するPresentationクラスを提供します。既知のISlideオブジェクトに対してポインタ(参照またはインデックス)を使用することで、削除したいスライドを指定できます。

参照によるスライドの削除

  1. Presentationクラスのインスタンスを作成します。
  2. IDまたはインデックスを介して削除したいスライドの参照を取得します。
  3. プレゼンテーションから参照されたスライドを削除します。
  4. 修正されたプレゼンテーションを保存します。

このC++コードは、参照を通じてスライドを削除する方法を示しています:

	// ドキュメントディレクトリへのパス
	const String templatePath = L"../templates/AddSlides.pptx";
	const String outPath = L"../out/RemoveSlidesByReference.pptx";

	// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
	SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

	// スライドコレクション内のインデックスを介してスライドにアクセスします
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// 参照を通じてスライドを削除します
	pres->get_Slides()->Remove(slide);

	// 修正されたプレゼンテーションを保存します
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

インデックスによるスライドの削除

  1. Presentationクラスのインスタンスを作成します。
  2. インデックス位置を介してプレゼンテーションからスライドを削除します。
  3. 修正されたプレゼンテーションを保存します。

このC++コードは、インデックスを通じてスライドを削除する方法を示しています:

	// ドキュメントディレクトリへのパス
	const String templatePath = L"../templates/AddSlides.pptx";
	const String outPath = L"../out/RemoveSlidesByID.pptx";

	// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
	SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

	// スライドインデックスを通じてスライドを削除します
	pres->get_Slides()->RemoveAt(0);

	// 修正されたプレゼンテーションを保存します
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

未使用のレイアウトスライドを削除

Aspose.Slidesは、不要で未使用のレイアウトスライドを削除できるRemoveUnusedLayoutSlides()メソッド(Compressクラスから)を提供します。このC++コードは、PowerPointプレゼンテーションからレイアウトスライドを削除する方法を示しています:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

LowCode::Compress::RemoveUnusedLayoutSlides(pres);

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

未使用のマスタースライドを削除

Aspose.Slidesは、不要で未使用のマスタースライドを削除できるRemoveUnusedMasterSlides()メソッド(Compressクラスから)を提供します。このC++コードは、PowerPointプレゼンテーションからマスタースライドを削除する方法を示しています:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

LowCode::Compress::RemoveUnusedMasterSlides(pres);

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);