Effektivt slå samman presentationer i PHP
Översikt
Aspose.Slides låter dig slå samman presentationer genom att klona bilder från en presentation till en annan. Denna artikel förklarar hur du slår samman hela presentationer eller utvalda bilder, använder en bildmaster eller en specifik layout under sammanslagningen, hanterar presentationer med olika bildstorlekar och lägger till sammanslagna bilder i ett presentationsavsnitt. Den täcker också praktiska anteckningar relaterade till sammanslaget innehåll, inklusive talarnoter, kommentarer, lösenordsskyddade källfiler och trådanvändning.
Sammanslagning av presentationer
När du slår samman en presentation med en annan kombinerar du i praktiken deras bilder i en enda presentation för att få en fil.
Info
De flesta presentationsprogram (PowerPoint eller OpenOffice) saknar funktioner som tillåter användare att kombinera presentationer på detta sätt.
Aspose.Slides for PHP via Java, tillåter dig dock att slå samman presentationer på olika sätt. Du kan slå samman presentationer med alla deras former, stilar, texter, formatering, kommentarer, animationer etc. utan att behöva oroa dig för förlust av kvalitet eller data.
Se även
Vad som kan slås samman
Med Aspose.Slides kan du slå samman
- hela presentationer. Alla bilder från presentationerna blir i en enda presentation
- specifika bilder. Utvalda bilder blir i en enda presentation
- presentationer i samma format (PPT till PPT, PPTX till PPTX osv.) och i olika format (PPT till PPTX, PPTX till ODP osv.) till varandra.
Note
Förutom presentationer låter Aspose.Slides dig slå samman andra filer:
- Bilder, såsom JPG till JPG eller PNG till PNG
- Dokument, såsom PDF till PDF eller HTML till HTML
- Och två olika filer såsom bild till PDF eller JPG till PDF eller TIFF till PDF.
Sammanslagningsalternativ
Du kan tillämpa alternativ som avgör om
- varje bild i den resulterande presentationen behåller en unik stil
- en specifik stil används för alla bilder i den resulterande presentationen.
För att slå samman presentationer erbjuder Aspose.Slides addClone-metoder (från klassen SlideCollection). Det finns flera implementationer av addClone-metoderna som definierar parametrarna för presentationssammanslagningsprocessen. Varje Presentation‑objekt har en slide-samling, så du kan anropa en addClone-metod från den presentation du vill slå samman bilder till.
addClone‑metoden returnerar ett Slide‑objekt, som är en klon av källbilden. Bilderna i en resulterande presentation är helt enkelt en kopia av bilderna från källan. Därför kan du göra ändringar i de resulterande bilderna (t.ex. applicera stilar eller formateringsalternativ eller layouter) utan att oroa dig för att källpresentationerna påverkas.
Slå samman presentationer
Aspose.Slides tillhandahåller metoden addClone(Slide) som låter dig kombinera bilder samtidigt som bilderna behåller sina layouter och stilar (standardparametrar).
Detta PHP‑kodexempel visar hur du slår samman presentationer:
$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();
}
}
Slå samman presentationer med en bildmaster
Aspose.Slides erbjuder metoden addClone(Slide, MasterSlide, boolean) som låter dig kombinera bilder samtidigt som du tillämpar en bildmaster‑presentationmall. På så sätt kan du vid behov ändra stilen för bilderna i den resulterande presentationen.
Denna kod demonstrerar den beskrivna operationen:
$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
Bildlayouten för bildmastern bestäms automatiskt. När en lämplig layout inte kan bestämmas, om den booleska parameternallowCloneMissingLayout för addClone‑metoden är satt till true, används layouten för källbilden. Annars kommer PptxEditException att kastas.
Om du vill att bilderna i den resulterande presentationen ska ha en annan bildlayout, använd metoden addClone(Slide, LayoutSlide) istället vid sammanslagning.
Slå samman specifika bilder från presentationer
Att slå samman specifika bilder från flera presentationer är användbart för att skapa anpassade bildpaket. Aspose.Slides for PHP via Java låter dig välja och importera bara de bilder du behöver. API:n bevarar formatering, layout och design från de ursprungliga bilderna.
Följande PHP‑kod skapar en ny presentation, lägger till titelbilder från två andra presentationer och sparar resultatet till en fil:
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();
}
Slå samman presentationer med en bildlayout
Detta PHP‑kodexempel visar hur du kombinerar bilder från presentationer samtidigt som du tillämpar din föredragna bildlayout för att få en enda utdata‑presentation:
$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();
}
}
Slå samman presentationer med olika bildstorlekar
Note
Du kan inte slå samman presentationer med olika bildstorlekar.För att slå samman 2 presentationer med olika bildstorlekar måste du ändra storleken på en av presentationerna så att dess storlek matchar den andra presentationens.
Detta kodexempel demonstrerar den beskrivna operationen:
$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();
}
}
Slå samman bilder till ett presentationsavsnitt
Detta PHP‑kodexempel visar hur du slår samman en specifik bild till ett avsnitt i en presentation:
$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();
}
}
Bilden läggs till i slutet av avsnittet.
Se även
Aspose erbjuder en GRATIS Online Collage Maker. Med den här onlinetjänsten kan du slå samman JPG till JPG eller PNG till PNG‑bilder, skapa fotogallerier, och mer.
Kolla in Aspose GRATIS Online Merger. Den låter dig slå samman PowerPoint‑presentationer i samma format (t.ex. PPT till PPT, PPTX till PPTX) eller över olika format (t.ex. PPT till PPTX, PPTX till ODP).
Vanliga frågor
Finns det några begränsningar för antalet bilder när man slår samman presentationer?
Det finns inga strikta begränsningar. Aspose.Slides kan hantera stora filer, men prestandan beror på filens storlek och systemresurser. För mycket stora presentationer rekommenderas att använda en 64‑bits JVM och tilldela tillräckligt med heap‑minne.
Kan jag slå samman presentationer med inbäddad video eller ljud?
Ja, Aspose.Slides bevarar multimedia‑innehåll som är inbäddat i bilderna, men den slutliga presentationen kan bli avsevärt större.
Kommer teckensnitt att bevaras när man slår samman presentationer?
Ja. Teckensnitt som används i källpresentationerna bevaras i den resulterande filen, förutsatt att de är installerade på systemet eller inbäddade.
