統合プレゼンテーション
ヒント
Asposeの無料オンライン Mergerアプリをチェックしてみてください。これを使用すると、同じ形式でPowerPointプレゼンテーションを統合したり(PPTからPPT、PPTXからPPTXなど)、異なる形式のプレゼンテーションを統合したり(PPTからPPTX、PPTXからODPなど)できます。
プレゼンテーションの統合
1つのプレゼンテーションを別のプレゼンテーションに統合すると、実質的にそれらのスライドが1つのプレゼンテーションにまとめられ、1ファイルを取得します。
情報
ほとんどのプレゼンテーションプログラム(PowerPointやOpenOffice)には、ユーザーがそのようにプレゼンテーションを結合する機能が欠けています。
しかし、Aspose.Slides for PHP via Javaは、さまざまな方法でプレゼンテーションを統合することを可能にします。すべての図形、スタイル、テキスト、書式設定、コメント、アニメーションなどを失うことなく、質やデータの損失を心配することなくプレゼンテーションを統合できます。
関連情報
統合できるもの
Aspose.Slidesを使用すると、次のものを統合できます。
- 完全なプレゼンテーション。プレゼンテーションのすべてのスライドが1つのプレゼンテーションに集約されます
- 特定のスライド。選択したスライドが1つのプレゼンテーションに集約されます
- 1つの形式のプレゼンテーション(PPTからPPT、PPTXからPPTXなど)と異なる形式(PPTからPPTX、PPTXからODPなど)を相互に統合できます。
注意
プレゼンテーションの他に、Aspose.Slidesは他のファイルも統合できます:
統合オプション
出力プレゼンテーション内の各スライドがユニークなスタイルを保持するか、すべてのスライドに特定のスタイルを使用するかを決定するオプションを適用できます。
プレゼンテーションを統合するために、Aspose.SlidesはAddCloneメソッド(ISlideCollectionインターフェイスから)を提供します。プレゼンテーションの統合プロセスパラメータを定義するAddClone
メソッドのいくつかの実装があります。各PresentationオブジェクトにはSlidesコレクションがあるため、スライドを統合したいプレゼンテーションからAddClone
メソッドを呼び出すことができます。
AddClone
メソッドは、ソーススライドのクローンであるISlide
オブジェクトを返します。出力プレゼンテーションのスライドは、ソースからのスライドの単なるコピーです。したがって、ソースのプレゼンテーションに影響を与えることを心配することなく、結果のスライド(たとえば、スタイルや書式設定オプションまたはレイアウトを適用)を変更できます。
プレゼンテーションを統合する
Aspose.Slidesは、スライドがレイアウトやスタイルを保持したまま統合することを可能にするAddClone(ISlide)メソッドを提供しています(デフォルトのパラメータ)。
このPHPコードは、プレゼンテーションを統合する方法を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
スライドマスターを使用したプレゼンテーションの統合
Aspose.Slidesは、スライドマスタープレゼンテーションテンプレートを適用しながらスライドを統合することを可能にするAddClone(ISlide, IMasterSlide, boolean)メソッドを提供します。このようにして、必要に応じて出力プレゼンテーション内のスライドのスタイルを変更できます。
このコードは、説明された操作を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
注意
スライドマスターのスライドレイアウトは自動的に決定されます。適切なレイアウトが決定できない場合、AddClone
メソッドのallowCloneMissingLayout
ブールパラメータがtrueに設定されている場合、ソーススライドのレイアウトが使用されます。そうでない場合は、PptxEditExceptionがスローされます。
出力プレゼンテーション内のスライドに異なるスライドレイアウトを持たせたい場合は、統合の際にAddClone(ISlide, ILayoutSlide)メソッドを代わりに使用してください。
特定のスライドをプレゼンテーションから統合する
このPHPコードは、異なるプレゼンテーションから特定のスライドを選択して結合し、1つの出力プレゼンテーションを取得する方法を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
スライドレイアウトを適用したプレゼンテーションの統合
このPHPコードは、プレゼンテーションからスライドを結合し、好みのスライドレイアウトを適用して1つの出力プレゼンテーションを取得する方法を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
異なるスライドサイズを持つプレゼンテーションの統合
注意
異なるスライドサイズを持つプレゼンテーションを統合することはできません。異なるスライドサイズを持つ2つのプレゼンテーションを統合するには、1つのプレゼンテーションのサイズを他のプレゼンテーションのサイズと一致させるようにリサイズする必要があります。
このサンプルコードは、説明された操作を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
$pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
プレゼンテーションセクションへのスライドの統合
このPHPコードは、特定のスライドをプレゼンテーションのセクションに統合する方法を示しています:
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
スライドはセクションの最後に追加されます。