Hatékonyan egyesítse a prezentációkat PHP-ben

Áttekintés

Az Aspose.Slides lehetővé teszi prezentációk egyesítését úgy, hogy egy prezentáció diáit egy másikba klónozza. Ez a cikk bemutatja, hogyan lehet teljes prezentációkat vagy kiválasztott diákat egyesíteni, hogyan használjunk dia-mestert vagy egy adott elrendezést az egyesítés során, hogyan kezeljünk különböző dia méretű prezentációkat, és hogyan adhatunk egyesített diákat egy prezentáció szekcióhoz. Emellett gyakorlati megjegyzéseket tartalmaz az egyesített tartalommal kapcsolatban, beleértve az előadói jegyzeteket, megjegyzéseket, jelszóval védett forrásfájlokat és a szálhasználatot.

Prezentációk egyesítése

Amikor egy prezentációt egy másikhoz egyesítesz, lényegében a diákat egyetlen prezentációba kombinálod, hogy egy fájlt kapj.

Mi egyesíthető

Az Aspose.Slides használatával egyesíthet

  • teljes prezentációkat. A prezentációk összes diája egyetlen prezentációba kerül.
  • meghatározott diákat. A kiválasztott diák egy prezentációba kerülnek.
  • prezentációkat egyformátumban (PPT → PPT, PPTX → PPTX stb.) és különböző formátumokban (PPT → PPTX, PPTX → ODP stb.) egymáshoz.

Egyesítési beállítások

Alkalmazhatsz olyan beállításokat, amelyek meghatározzák, hogy

  • az eredmény prezentáció minden diája megőrizze az egyedi stílusát
  • egy meghatározott stílus legyen használva az összes dián az eredmény prezentációban.

A prezentációk egyesítéséhez az Aspose.Slides a addClone metódusokat (a SlideCollection osztályból) biztosítja. Többféle implementációja létezik az addClone metódusoknak, amelyek meghatározzák az egyesítési folyamat paramétereit. Minden Presentation objektumnak van egy slide gyűjteménye, ezért a prezentációból hívhatod meg az addClone metódust, amelybe a diák egyesíteni kívánt célja.

Az addClone metódus egy Slide objektumot ad vissza, amely a forrásdia klónja. A kimeneti prezentáció diái egyszerűen a forrás diák másolatai. Ennek köszönhetően módosíthatod a kapott diákat (például stílusokat, formázási beállításokat vagy elrendezéseket alkalmazhatsz) anélkül, hogy a forrás prezentációkat érintenéd.

Prezentációk egyesítése

Az Aspose.Slides a addClone(Slide) metódust biztosítja, amely lehetővé teszi a diák egyesítését úgy, hogy a diák megtartják az elrendezésüket és stílusukat (alapértelmezett paraméterek).

Ezt a PHP kódot használva megtekintheted, hogyan egyesítsd a prezentációkat:

  $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();
    }
  }

Prezentációk egyesítése dia-mesterrel

Az Aspose.Slides a addClone(Slide, MasterSlide, boolean) metódust biztosítja, amely lehetővé teszi a diák egyesítését egy dia-mester sablon alkalmazásával. Így szükség esetén megváltoztathatod a kimeneti prezentáció diáinak stílusát.

Ez a kód demonstrálja a leírt műveletet:

  $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();
    }
  }

Ha azt szeretnéd, hogy a kimeneti prezentáció diái másik diaelrendezést kapjanak, használj helyette a addClone(Slide, LayoutSlide) metódust az egyesítés során.

Specifikus diák egyesítése prezentációkból

Több prezentációból származó specifikus diák egyesítése hasznos egyedi diákészletek létrehozásához. Az Aspose.Slides for PHP via Java lehetővé teszi, hogy csak a szükséges diát válaszd ki és importáld. Az API megőrzi az eredeti diák formázását, elrendezését és dizájnját.

A következő PHP kód új prezentációt hoz létre, hozzáadja a címdiát két másik prezentációból, és elmenti az eredményt egy fájlba:

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();
}

Prezentációk egyesítése diaelrendezéssel

Ez a PHP kód bemutatja, hogyan kombinálj diákat több prezentációból, miközben a kívánt diaelrendezést alkalmazod, és egyetlen kimeneti prezentációt kapsz:

  $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();
    }
  }

Prezentációk egyesítése eltérő dia méretekkel

Két különböző dia méretű prezentáció egyesítéséhez át kell méretezni az egyiket, hogy mérete megegyezzen a másikéval.

Ez a példa kód demonstrálja a leírt műveletet:

  $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();
    }
  }

Diák egyesítése egy prezentáció szekciójába

Ez a PHP kód megmutatja, hogyan egyesíts egy adott diát egy prezentáció szekciójába:

  $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();
    }
  }

A dia a szekció végéhez kerül hozzáadásra.

Lásd még

Az Aspose ingyenes Online Kollázs Készítő szolgáltatást kínál. Ezzel az online szolgáltatással JPG → JPG vagy PNG → PNG képeket egyesíthetsz, fotórácsokat hozhatsz létre, és még sok más.

Nézd meg az Aspose INGYENES Online Egyesítő szolgáltatást. Lehetővé teszi PowerPoint prezentációk egyesítését ugyanabban a formátumban (pl. PPT → PPT, PPTX → PPTX) vagy különböző formátumok között (pl. PPT → PPTX, PPTX → ODP).

Aspose INGYENES Online Egyesítő

GYIK

Vannak-e korlátozások a diák számát illetően a prezentációk egyesítésekor?

Nem szigorú korlátozások. Az Aspose.Slides képes nagy fájlok kezelésére, de a teljesítmény a fájl méretétől és a rendszer erőforrásaitól függ. Nagyon nagy prezentációk esetén ajánlott 64‑bit JVM-et használni és elegendő heap memóriát kiosztani.

Egyesíthetek-e olyan prezentációkat, amelyek beágyazott videót vagy audiót tartalmaznak?

Igen, az Aspose.Slides megőrzi a diákba beágyazott multimédia tartalmat, de a végleges prezentáció jelentősen nagyobb lehet.

Megmaradnak-e a betűtípusok a prezentációk egyesítésekor?

Igen. A forrás prezentációkban használt betűtípusok megmaradnak a kimeneti fájlban, feltéve, hogy a rendszerre telepítve vannak vagy beágyazva vannak.