C#を使用してPowerPointプレゼンテーションPPT、PPTXを統合する
ヒント
Asposeの無料オンライン Mergerアプリをチェックしてみてください。同じ形式のPowerPointプレゼンテーションを統合すること(PPTからPPT、PPTXからPPTXなど)や、異なる形式のプレゼンテーションを統合すること(PPTからPPTX、PPTXからODPなど)が可能です。
プレゼンテーションの統合
プレゼンテーションを別のプレゼンテーションに統合する際には、実際にスライドを単一のプレゼンテーションにまとめて1つのファイルを取得します。
情報
ほとんどのプレゼンテーションプログラム(PowerPointまたはOpenOffice)には、そのようにプレゼンテーションを組み合わせる機能が不足しています。
しかし、Aspose.Slides for .NETを使用すれば、異なる方法でプレゼンテーションを統合できます。すべての図形、スタイル、テキスト、書式設定、コメント、アニメーションなどを気にせず、品質やデータの損失を心配することなく、プレゼンテーションを統合できます。
関連情報
統合できるもの
Aspose.Slidesを使用すると、次のことができます
- プレゼンテーション全体。すべてのスライドが1つのプレゼンテーションにまとめられます
- 特定のスライド。選択したスライドが1つのプレゼンテーションにまとめられます
- 同じ形式のプレゼンテーション(PPTからPPT、PPTXからPPTXなど)や異なる形式のプレゼンテーション(PPTからPPTX、PPTXからODPなど)を互いに統合します。
注意
プレゼンテーションの他に、Aspose.Slidesを使用すると、他のファイルも統合できます:
統合オプション
出力プレゼンテーション内の各スライドがユニークなスタイルを保持するかどうか、または出力プレゼンテーション内のすべてのスライドに特定のスタイルを使用するかどうかを決定するオプションを適用できます。
プレゼンテーションを統合するために、Aspose.SlidesはAddCloneメソッドを提供しています(ISlideCollectionインターフェースから)。プレゼンテーションの統合プロセスのパラメータを定義するいくつかの実装のAddClone
メソッドがあります。各プレゼンテーションオブジェクトにはSlidesコレクションがあるため、スライドを統合したいプレゼンテーションからAddClone
メソッドを呼び出すことができます。
AddClone
メソッドは、ソーススライドのクローンであるISlide
オブジェクトを返します。出力プレゼンテーションのスライドは、ソースのスライドの単なるコピーです。したがって、ソースプレゼンテーションに影響を与えることを心配することなく、結果のスライドを変更(たとえば、スタイルや書式設定オプションやレイアウトを適用する)できます。
プレゼンテーションを統合する
Aspose.Slidesは、スライドのレイアウトとスタイルを保持しながらスライドを統合できるAddClone (ISlide)メソッドを提供します(デフォルトのパラメータ)。
このC#コードは、プレゼンテーションを統合する方法を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
スライドマスターを使用したプレゼンテーションの統合
Aspose.Slidesは、スライドマスタープレゼンテーションテンプレートを適用しながらスライドを統合できるAddClone (ISlide, IMasterSlide, Boolean)メソッドを提供します。この方法では、必要に応じて出力プレゼンテーション内のスライドスタイルを変更できます。
このC#コードは、説明された操作を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
注意
スライドマスターのスライドレイアウトは自動的に決定されます。適切なレイアウトを決定できない場合、AddClone
メソッドのallowCloneMissingLayout
ブールパラメータがtrueに設定されている場合、ソーススライドのレイアウトが使用されます。それ以外の場合、PptxEditExceptionがスローされます。
出力プレゼンテーション内のスライドに異なるスライドレイアウトを持たせたい場合は、統合時に代わりにAddClone (ISlide, ILayoutSlide)メソッドを使用してください。
プレゼンテーションから特定のスライドを統合する
このC#コードは、異なるプレゼンテーションから特定のスライドを選択し、1つの出力プレゼンテーションとして結合する方法を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
スライドレイアウトを適用してプレゼンテーションを統合する
このC#コードは、プレゼンテーションからスライドを結合し、お好みのスライドレイアウトを適用して1つの出力プレゼンテーションを取得する方法を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
異なるスライドサイズを持つプレゼンテーションを統合する
注意
異なるスライドサイズを持つプレゼンテーションを統合することはできません。異なるスライドサイズを持つ2つのプレゼンテーションを統合するには、1つのプレゼンテーションのサイズを変更して、もう1つのプレゼンテーションのサイズと一致させる必要があります。
このサンプルコードは、説明された操作を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
プレゼンテーションセクションにスライドを統合する
このC#コードは、特定のスライドをプレゼンテーション内のセクションに統合する方法を示しています:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
for (var index = 0; index < pres2.Slides.Count; index++)
{
ISlide slide = pres2.Slides[index];
pres1.Slides.AddClone(slide, pres1.Sections[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
スライドはセクションの最後に追加されます。