Odstranění snímků z prezentací v PHP

Úvod

Pokud se snímek (nebo jeho obsah) stane nadbytečným, můžete jej smazat. Aspose.Slides poskytuje třídu Presentation, která zapouzdřuje SlideCollection, což je úložiště všech snímků v prezentaci. Pomocí ukazatelů (reference nebo index) na známý objekt Slide můžete určit snímek, který chcete odstranit.

Odstranit snímek pomocí reference

  1. Vytvořte instanci třídy Presentation.
  2. Získejte odkaz na snímek, který chcete odstranit, pomocí jeho ID nebo indexu.
  3. Odstraňte odkazovaný snímek z prezentace.
  4. Uložte upravenou prezentaci.

Tento PHP kód ukazuje, jak odstranit snímek pomocí jeho reference:

  # Vytvořte objekt Presentation, který představuje soubor prezentace
  $pres = new Presentation("demo.pptx");
  try {
    # Přistoupí k snímku pomocí jeho indexu v kolekci snímků
    $slide = $pres->getSlides()->get_Item(0);
    # Odstraní snímek pomocí jeho reference
    $pres->getSlides()->remove($slide);
    # Uloží upravenou prezentaci
    $pres->save("modified.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

Odstranit snímek podle indexu

  1. Vytvořte instanci třídy Presentation.
  2. Odstraňte snímek z prezentace pomocí jeho pozice v indexu.
  3. Uložte upravenou prezentaci.

Tento PHP kód ukazuje, jak odstranit snímek pomocí jeho indexu:

  # Vytvoří objekt Presentation, který představuje soubor prezentace
  $pres = new Presentation("demo.pptx");
  try {
    # Odstraní snímek pomocí jeho indexu
    $pres->getSlides()->removeAt(0);
    # Uloží upravenou prezentaci
    $pres->save("modified.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

Odstranit nepoužívané snímky rozložení

Aspose.Slides poskytuje metodu removeUnusedLayoutSlides (z třídy Compress), která vám umožní smazat nechtěné a nepoužívané snímky rozložení. Tento PHP kód ukazuje, jak odstranit snímek rozložení z prezentace 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();
    }
  }

Odstranit nepoužívané hlavní snímky

Aspose.Slides poskytuje metodu removeUnusedMasterSlides (z třídy Compress), která vám umožní smazat nechtěné a nepoužívané hlavní snímky. Tento PHP kód ukazuje, jak odstranit hlavní snímek z prezentace 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 se stane s indexy snímků po smazání snímku?

Po smazání se collection přeindexuje: každý následující snímek se posune o jednu pozici doleva, takže předchozí čísla indexů jsou zastaralá. Pokud potřebujete stabilní odkaz, použijte trvalé ID každého snímku místo jeho indexu.

Je ID snímku odlišné od jeho indexu a mění se, když jsou smazány sousední snímky?

Ano. Index je pozice snímku a změní se, když jsou snímky přidány nebo odebrány. ID snímku je trvalý identifikátor a nemění se, když jsou ostatní snímky smazány.

Jak smazání snímku ovlivní sekce snímků?

Pokud snímek patřil do sekce, tato sekce bude obsahovat o jeden snímek méně. Struktura sekce zůstane zachována; pokud sekce zůstane prázdná, můžete remove or reorganize sections podle potřeby.

Co se stane s poznámkami a komentáři připojenými k snímku po jeho smazání?

Notes a comments jsou svázány s konkrétním snímkem a jsou odstraněny spolu s ním. Obsah na ostatních snímcích zůstane nedotčen.

Jak se liší mazání snímků od čištění nepoužívaných rozložení/mistrů?

Mazání odstraňuje konkrétní běžné snímky z prezentace. Čištění nepoužívaných rozložení/mistrů odstraňuje rozložení nebo hlavní snímky, na které se už nikdo neodkazuje, čímž snižuje velikost souboru, aniž by měnilo obsah zbývajících snímků. Tyto akce se doplňují: typicky nejprve smažte, potom vyčistěte.