Efektivně sloučit prezentace v PHP
Přehled
Aspose.Slides umožňuje sloučit prezentace klonováním snímků z jedné prezentace do druhé. Tento článek vysvětluje, jak sloučit celé prezentace nebo vybrané snímky, použít hlavní snímek nebo konkrétní rozvržení během sloučení, pracovat s prezentacemi s různými velikostmi snímků a přidat sloučené snímky do sekce prezentace. Také se zabývá praktickými poznámkami souvisejícími se sloučeným obsahem, včetně poznámek k řečníkovi, komentářů, souborů chráněných heslem a používání vláken.
Sloučení prezentací
Když sloučíte jednu prezentaci s druhou, v podstatě kombinujete jejich snímky do jedné prezentace a získáte jeden soubor.
Info
Většina programů pro prezentace (PowerPoint nebo OpenOffice) postrádá funkce, které uživatelům umožňují kombinovat prezentace tímto způsobem.
Aspose.Slides pro PHP via Java, však umožňuje sloučit prezentace různými způsoby. Můžete sloučit prezentace se všemi jejich tvary, styly, texty, formátováním, komentáři, animacemi atd., aniž byste se museli obávat ztráty kvality nebo dat.
Viz také
Co lze sloučit
S Aspose.Slides můžete sloučit
- celé prezentace. Všechny snímky z prezentací skončí v jedné prezentaci
- specifické snímky. Vybrané snímky skončí v jedné prezentaci
- prezentace v jednom formátu (PPT na PPT, PPTX na PPTX atd.) a v různých formátech (PPT na PPTX, PPTX na ODP atd.) mezi sebou.
Note
Kromě prezentací umožňuje Aspose.Slides sloučit i jiné soubory:
- Obrázky, například JPG na JPG nebo PNG na PNG
- Dokumenty, například PDF na PDF nebo HTML na HTML
- A dva různé soubory, například obrázek na PDF nebo JPG na PDF nebo TIFF na PDF.
Možnosti sloučení
Můžete použít možnosti, které určují, zda
- každý snímek ve výstupní prezentaci zachová jedinečný styl
- konkrétní styl je použit pro všechny snímky ve výstupní prezentaci.
Pro sloučení prezentací poskytuje Aspose.Slides metody addClone (z třídy SlideCollection). Existuje několik implementací metod addClone, které definují parametry procesu sloučení prezentací. Každý objekt Presentation má kolekci slide, takže můžete zavolat metodu addClone z prezentace, do které chcete sloučit snímky.
Metoda addClone vrací objekt Slide, který je klonem zdrojového snímku. Snímky ve výstupní prezentaci jsou jednoduše kopií snímků ze zdroje. Proto můžete měnit výsledné snímky (například aplikovat styly, formátování nebo rozvržení) aniž byste se museli obávat, že by to ovlivnilo zdrojové prezentace.
Sloučení prezentací
Aspose.Slides poskytuje metodu addClone(Slide), která umožňuje kombinovat snímky, přičemž snímky zachovávají své rozvržení a styly (výchozí parametry).
Tento PHP kód ukazuje, jak sloučit prezentace:
$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();
}
}
Sloučení prezentací s hlavním snímkem
Aspose.Slides poskytuje metodu addClone(Slide, MasterSlide, boolean) , která umožňuje kombinovat snímky při použití šablony hlavního snímku prezentace. Tímto způsobem můžete v případě potřeby změnit styl snímků ve výstupní prezentaci.
Tento kód demonstruje popsanou operaci:
$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();
}
}
Note
Rozvržení snímku pro hlavní snímek je určeno automaticky. Když nelze určit vhodné rozvržení, pokud je boolean parametrallowCloneMissingLayout metody addClone nastaven na true, použije se rozvržení zdrojového snímku. V opačném případě bude vyvolána výjimka PptxEditException.
Pokud chcete, aby snímky ve výstupní prezentaci měly jiné rozvržení snímku, použijte při sloučení místo toho metodu addClone(Slide, LayoutSlide) .
Sloučení konkrétních snímků z prezentací
Sloučení konkrétních snímků z více prezentací je užitečné pro tvorbu vlastních sad snímků. Aspose.Slides pro PHP via Java vám umožňuje vybrat a importovat pouze snímky, které potřebujete. API zachovává formátování, rozvržení a design originálních snímků.
Následující PHP kód vytvoří novou prezentaci, přidá titulní snímky ze dvou ostatních prezentací a uloží výsledek do souboru:
function getTitleSlide(Presentation $presentation) {
for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
$slide = $presentation->getSlides()->get_Item($i);
if (java_values($slide->getLayoutSlide()->getLayoutType()) === SlideLayoutType::Title) {
return $slide;
}
}
return null;
}
$presentation = new Presentation();
$presentation1 = new Presentation($folderPath . "presentation1.pptx");
$presentation2 = new Presentation($folderPath . "presentation2.pptx");
try {
$presentation->getSlides()->removeAt(0);
$slide1 = getTitleSlide($presentation1);
if ($slide1 != null)
$presentation->getSlides()->addClone($slide1);
$slide2 = getTitleSlide($presentation2);
if ($slide2 != null)
$presentation->getSlides()->addClone($slide2);
$presentation->save($folderPath . "combined.pptx", SaveFormat::Pptx);
} finally {
$presentation2->dispose();
$presentation1->dispose();
$presentation->dispose();
}
Sloučení prezentací s rozvržením snímku
Tento PHP kód ukazuje, jak kombinovat snímky z prezentací při aplikaci požadovaného rozvržení snímku, aby vznikla jedna výstupní prezentace:
$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();
}
}
Sloučení prezentací s různými velikostmi snímků
Note
Nemůžete sloučit prezentace s různými velikostmi snímků.Pro sloučení 2 prezentací s různými velikostmi snímků musíte upravit velikost jedné z prezentací, aby odpovídala velikosti druhé.
Tento ukázkový kód demonstruje popsanou operaci:
$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();
}
}
Sloučení snímků do sekce prezentace
Tento PHP kód ukazuje, jak sloučit konkrétní snímek do sekce v prezentaci:
$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();
}
}
Snímek je přidán na konec sekce.
Viz také
Aspose poskytuje ZDARMA Online Collage Maker. Pomocí této online služby můžete sloučit obrázky JPG na JPG nebo PNG na PNG, vytvořit foto mřížky a další.
Vyzkoušejte Aspose FREE Online Merger. Umožňuje sloučit PowerPoint prezentace ve stejném formátu (např. PPT na PPT, PPTX na PPTX) nebo napříč různými formáty (např. PPT na PPTX, PPTX na ODP).
Často kladené otázky
Existují nějaká omezení počtu snímků při sloučení prezentací?
Žádná striktní omezení. Aspose.Slides zvládne velké soubory, ale výkon závisí na velikosti a systémových zdrojích. Pro velmi velké prezentace se doporučuje používat 64‑bitový JVM a přidělit dostatečnou haldu paměti.
Mohu sloučit prezentace s vloženým videem nebo zvukem?
Ano, Aspose.Slides zachovává multimediální obsah vložený do snímků, ale výsledná prezentace může být výrazně větší.
Budou písma při sloučení prezentací zachována?
Ano. Písma použité ve zdrojových prezentacích jsou zachována ve výstupním souboru, pokud jsou nainstalována v systému nebo vložená.
