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ę

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj referencję do slajdu, który chcesz usunąć, za pomocą jego ID lub indeksu.
  3. Usuń odwołany slajd z prezentacji.
  4. 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

  1. Utwórz instancję klasy Presentation.
  2. Usuń slajd z prezentacji za pomocą jego pozycji indeksowej.
  3. 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.