PowerPoint és PPTX konvertálása JPG-re PHP-ban

Bevezetés

A PowerPoint és OpenDocument prezentációk JPG képekké konvertálása segít a diák megosztásában, a teljesítmény optimalizálásában, valamint a tartalom weboldalakba vagy alkalmazásokba ágyazásában. Az Aspose.Slides lehetővé teszi a PPTX, PPT és ODP fájlok magas minőségű JPEG képekké alakítását. Ez az útmutató különböző konvertálási módszereket magyaráz.

Ezekkel a funkciókkal egyszerű saját prezentációs néző implementálni és minden egyes diáról miniatűr képet készíteni. Ez hasznos lehet, ha meg szeretné védeni a diákat a másolástól, vagy csak olvasásra alkalmas módon szeretné bemutatni a prezentációt. Az Aspose.Slides lehetővé teszi a teljes prezentáció vagy egy adott dia képfájl formátumba való konvertálását.

PowerPoint PPT/PPTX konvertálása JPG-re

  1. Hozzon létre egy Presentation típusú példányt.
  2. Szerezze be a Slide típusú diaobjektumot a Presentation::getSlides() gyűjteményből.
  3. Készítse el minden dia miniatűr képét, majd konvertálja JPG-re. A Slide::getImage(float scaleX, float scaleY) metódus a dia miniatűr képének lekérésére szolgál. A getImage metódust a szükséges Slide típusú diáról kell meghívni, a létrejövő miniatűr skáláit a metódus paramétereként kell átadni.
  4. Miután megkapta a dia miniatűr képét, hívja meg a IImage::save(String formatName, int imageFormat) metódust a miniatűr objektumról. Adja meg a létrehozandó fájlnevet és a képformátumot.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # Létrehoz egy teljes méretű képet
      $slideImage = $sld->getImage(1.0, 1.0);
      # Elmenti a képet lemezre JPEG formátumban
      try {
        $slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

PowerPoint PPT/PPTX konvertálása JPG-re egyéni méretekkel

A létrejövő miniatűr és JPG kép méretének módosításához beállíthatja a ScaleX és ScaleY értékeket a Slide::getImage(float scaleX, float scaleY) metódusnak átadva:

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # Meghatározza a méreteket
    $desiredX = 1200;
    $desiredY = 800;
    # Lekéri az X és Y skálázott értékeit
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # Létrehoz egy teljes méretű képet
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # Elmenti a képet lemezre JPEG formátumban
      try {
        $slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Megjegyzések renderelése diák képként történő mentésekor

Az Aspose.Slides for PHP via Java olyan lehetőséget kínál, amely lehetővé teszi a megjegyzések megjelenítését a prezentáció diáin, amikor azokat képekké konvertálja. Ez a PHP kód bemutatja a műveletet:

  $pres = new Presentation("presentation.pptx");
  try {
    $notesOptions = new NotesCommentsLayoutingOptions();
    $notesOptions->setNotesPosition(NotesPositions::BottomTruncated);
    $opts = new RenderingOptions();
    $opts->setSlidesLayoutOptions($notesOptions);
    foreach($pres->getSlides() as $sld) {
      $slideImage = $sld->getImage($opts, new Java("java.awt.Dimension", 740, 960));
      try {
        $slideImage->save(String->format("Slide_%d.png", $sld->getSlideNumber()));
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

GYIK

Támogatja ez a módszer a kötegelt konvertálást?

Igen, az Aspose.Slides lehetővé teszi több dia egyidejű JPG-re konvertálását egyetlen műveletben.

A konvertálás támogatja a SmartArt, diagramok és egyéb összetett objektumok megjelenítését?

Igen, az Aspose.Slides az összes tartalmat megjeleníti, beleértve a SmartArt-ot, diagramokat, táblázatokat, alakzatokat és egyebeket. Azonban a renderelés pontossága kissé eltérhet a PowerPoint-től, különösen egyedi vagy hiányzó betűtípusok használata esetén.

Vannak korlátozások a feldolgozható diák számát illetően?

Az Aspose.Slides önmagában nem szab szigorú határokat a feldolgozható diák számára. Azonban nagy méretű prezentációk vagy nagy felbontású képek esetén memóriahiány miatt hibával találkozhat.

Lásd még

Tekintse meg a PPT/PPTX képformátumba konvertálásának egyéb lehetőségeit, például: