Usuwanie slajdów z prezentacji w PHP
Wprowadzenie
Jeśli slajd (lub jego zawartość) staje się zbędny, możesz go usunąć. Aspose.Slides udostępnia klasę Presentation która kapsułkuje SlideCollection, będącą repozytorium wszystkich slajdów w prezentacji. Korzystając z wskaźników (referencji lub indeksu) do znanego obiektu Slide, możesz określić slajd, który chcesz usunąć.
Usuwanie slajdu poprzez referencję
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu, który chcesz usunąć, za pomocą jego ID lub indeksu.
- Usuń odwołany slajd z prezentacji.
- Zapisz zmodyfikowaną prezentację.
Ten kod PHP pokazuje, jak usunąć slajd za pomocą jego referencji:
# Utwórz obiekt Presentation, który reprezentuje plik prezentacji
$pres = new Presentation("demo.pptx");
try {
# Uzyskuje dostęp do slajdu za pomocą jego indeksu w kolekcji slajdów
$slide = $pres->getSlides()->get_Item(0);
# Usuwa slajd za pomocą jego referencji
$pres->getSlides()->remove($slide);
# Zapisuje zmodyfikowaną prezentację
$pres->save("modified.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Usuwanie slajdu poprzez indeks
- Utwórz instancję klasy Presentation.
- Usuń slajd z prezentacji za pomocą jego pozycji indeksowej.
- Zapisz zmodyfikowaną prezentację.
Ten kod PHP pokazuje, jak usunąć slajd za pomocą jego indeksu:
# Tworzy obiekt Presentation, który reprezentuje plik prezentacji
$pres = new Presentation("demo.pptx");
try {
# Usuwa slajd za pomocą jego indeksu slajdu
$pres->getSlides()->removeAt(0);
# Zapisuje zmodyfikowaną prezentację
$pres->save("modified.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Usuwanie nieużywanych slajdów układu
Aspose.Slides udostępnia metodę removeUnusedLayoutSlides (z klasy Compress), pozwalającą usunąć niechciane i nieużywane slajdy układu. Ten kod PHP pokazuje, jak usunąć slajd układu z prezentacji PowerPoint:
$pres = new Presentation("pres.pptx");
try {
Compress->removeUnusedLayoutSlides($pres);
$pres->save("pres-out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Usuwanie nieużywanych slajdów wzorca
Aspose.Slides udostępnia metodę removeUnusedMasterSlides (z klasy Compress), pozwalającą usunąć niechciane i nieużywane slajdy wzorca. Ten kod PHP pokazuje, jak usunąć slajd wzorca z prezentacji PowerPoint:
$pres = new Presentation("pres.pptx");
try {
Compress->removeUnusedMasterSlides($pres);
$pres->save("pres-out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Co się dzieje z indeksami slajdów po usunięciu slajdu?
Po usunięciu, kolekcja ponownie indeksuje: każdy kolejny slajd przemieszcza się w lewo o jedną pozycję, więc wcześniejsze numery indeksów stają się nieaktualne. Jeśli potrzebujesz stabilnego odwołania, użyj trwałego ID każdego slajdu zamiast jego indeksu.
Czy ID slajdu różni się od jego indeksu i czy zmienia się, gdy usunięte zostaną sąsiadujące slajdy?
Tak. Indeks określa pozycję slajdu i zmienia się, gdy slajdy są dodawane lub usuwane. ID slajdu jest trwałym identyfikatorem i nie zmienia się po usunięciu innych slajdów.
Jak usunięcie slajdu wpływa na sekcje slajdów?
Jeśli slajd należał do sekcji, ta sekcja po prostu będzie zawierała o jeden slajd mniej. Struktura sekcji pozostaje niezmieniona; jeśli sekcja stanie się pusta, możesz usunąć lub zreorganizować sekcje według potrzeb.
Co się dzieje z notatkami i komentarzami przypisanymi do slajdu po jego usunięciu?
Notatki i komentarze są powiązane z konkretnym slajdem i zostają usunięte razem z nim. Zawartość innych slajdów pozostaje nienaruszona.
Czym różni się usuwanie slajdów od czyszczenia nieużywanych układów/wzorców?
Usuwanie eliminuje konkretne zwykłe slajdy z zestawu. Czyszczenie nieużywanych układów/wzorców usuwa slajdy układu lub wzorca, do których nic nie odwołuje się, zmniejszając rozmiar pliku bez zmiany zawartości pozostałych slajdów. Działania te są uzupełniające: zazwyczaj najpierw usuwa się slajdy, a potem czyści nieużywane układy i wzorce.