Efektywne scalanie prezentacji w PHP
Przegląd
Aspose.Slides umożliwia scalanie prezentacji przez klonowanie slajdów z jednej prezentacji do drugiej. Ten artykuł wyjaśnia, jak scalać całe prezentacje lub wybrane slajdy, używać szablonu master lub określonego układu podczas scalania, obsługiwać prezentacje o różnych rozmiarach slajdów oraz dodawać scalone slajdy do sekcji prezentacji. Zawiera także praktyczne uwagi dotyczące scalanej zawartości, w tym notatki prelegenta, komentarze, pliki źródłowe zabezpieczone hasłem oraz wykorzystanie wątków.
Scalanie prezentacji
Kiedy scalasz jedną prezentację z drugą, w praktyce łączysz ich slajdy w jednej prezentacji, uzyskując jeden plik.
Info
Większość programów do prezentacji (PowerPoint lub OpenOffice) nie posiada funkcji umożliwiających użytkownikom łączenie prezentacji w taki sposób.
Aspose.Slides for PHP via Java, umożliwia natomiast scalanie prezentacji na różne sposoby. Możesz scalać prezentacje ze wszystkimi ich kształtami, stylami, tekstami, formatowaniem, komentarzami, animacjami itp., nie martwiąc się o utratę jakości czy danych.
Zobacz także
Co można scalać
Z Aspose.Slides możesz scalać
- całe prezentacje. Wszystkie slajdy z prezentacji kończą się w jednej prezentacji
- konkretne slajdy. Wybrane slajdy kończą się w jednej prezentacji
- prezentacje w jednym formacie (PPT do PPT, PPTX do PPTX itp.) oraz w różnych formatach (PPT do PPTX, PPTX do ODP itp.) względem siebie.
Note
Oprócz prezentacji, Aspose.Slides umożliwia scalanie innych plików:
- Obrazy, takie jak JPG do JPG lub PNG do PNG
- Dokumenty, takie jak PDF do PDF lub HTML do HTML
- I dwa różne typy plików, takie jak obraz do PDF lub JPG do PDF lub TIFF do PDF.
Opcje scalania
Możesz zastosować opcje określające, czy
- każdy slajd w prezentacji wyjściowej zachowuje unikalny styl
- określony styl jest używany dla wszystkich slajdów w prezentacji wyjściowej.
Aby scalać prezentacje, Aspose.Slides udostępnia metody addClone (z klasy SlideCollection). Istnieje kilka implementacji metod addClone, które określają parametry procesu scalania prezentacji. Każdy obiekt Presentation posiada kolekcję slide, więc możesz wywołać metodę addClone z prezentacji, do której chcesz scalić slajdy.
Metoda addClone zwraca obiekt Slide, który jest klonem slajdu źródłowego. Slajdy w prezentacji wynikowej są po prostu kopią slajdów ze źródła. Dzięki temu możesz wprowadzać zmiany w powstałych slajdach (np. stosować style, opcje formatowania lub układy), nie martwiąc się o wpływ na źródłowe prezentacje.
Scalanie prezentacji
Aspose.Slides udostępnia metodę addClone(Slide) , która pozwala łączyć slajdy, zachowując ich układy i style (parametry domyślne).
Ten kod PHP pokazuje, jak scalić prezentacje:
$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();
}
}
Scalanie prezentacji z szablonem master
Aspose.Slides udostępnia metodę addClone(Slide, MasterSlide, boolean) , która pozwala łączyć slajdy, stosując szablon szablonu master prezentacji. W ten sposób, w razie potrzeby, możesz zmienić styl slajdów w prezentacji wynikowej.
Ten kod demonstruje opisaną operację:
$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
Układ slajdu dla szablonu master jest określany automatycznie. Gdy nie można określić odpowiedniego układu, jeśli parametr boolowskiallowCloneMissingLayout metody addClone jest ustawiony na true, używany jest układ slajdu źródłowego. W przeciwnym razie zostanie zgłoszony wyjątek PptxEditException.
Jeśli chcesz, aby slajdy w prezentacji wynikowej miały inny układ slajdu, użyj zamiast tego metody addClone(Slide, LayoutSlide) .
Scalanie konkretnych slajdów z prezentacji
Scalanie konkretnych slajdów z wielu prezentacji jest przydatne przy tworzeniu niestandardowych zestawień slajdów. Aspose.Slides for PHP via Java umożliwia wybór i importowanie wyłącznie potrzebnych slajdów. API zachowuje formatowanie, układ i projekt oryginalnych slajdów.
Następujący kod PHP tworzy nową prezentację, dodaje slajdy tytułowe z dwóch innych prezentacji i zapisuje wynik do pliku:
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();
}
Scalanie prezentacji z układem slajdu
Ten kod PHP pokazuje, jak połączyć slajdy z prezentacji, stosując wybrany układ slajdu, aby uzyskać jedną prezentację wynikową:
$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();
}
}
Scalanie prezentacji o różnych rozmiarach slajdów
Note
Nie można scalać prezentacji o różnych rozmiarach slajdów.Aby scalić 2 prezentacje o różnych rozmiarach slajdów, należy zmienić rozmiar jednej z nich, aby dopasować go do rozmiaru drugiej prezentacji.
Ten przykładowy kod demonstruje opisaną operację:
$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();
}
}
Scalanie slajdów do sekcji prezentacji
Ten kod PHP pokazuje, jak scalić konkretny slajd do sekcji w prezentacji:
$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();
}
}
Slajd jest dodawany na końcu sekcji.
Zobacz także
Aspose udostępnia DARMOWY Kreator Kolaży Online. Korzystając z tej usługi online, możesz scalać JPG do JPG lub obrazy PNG do PNG, tworzyć siatki zdjęć, i więcej.
Sprawdź Aspose DARMOWY Online Merger. Pozwala on scalać prezentacje PowerPoint w tym samym formacie (np. PPT do PPT, PPTX do PPTX) lub w różnych formatach (np. PPT do PPTX, PPTX do ODP).
FAQ
Czy istnieją jakieś ograniczenia liczby slajdów przy scalaniu prezentacji?
Nie ma sztywnych ograniczeń. Aspose.Slides radzi sobie z dużymi plikami, ale wydajność zależy od rozmiaru i zasobów systemowych. Dla bardzo dużych prezentacji zaleca się użycie 64‑bitowej JVM oraz przydzielenie wystarczającej pamięci sterty.
Czy mogę scalać prezentacje z osadzonym wideo lub dźwiękiem?
Tak, Aspose.Slides zachowuje multimedia osadzone w slajdach, ale finalna prezentacja może stać się znacznie większa.
Czy czcionki zostaną zachowane przy scalaniu prezentacji?
Tak. Czcionki użyte w prezentacjach źródłowych są zachowane w pliku wynikowym, zakładając że są zainstalowane w systemie lub osadzone.
