Converteer PPT en PPTX naar JPG in PHP

Inleiding

Het converteren van PowerPoint- en OpenDocument‑presentaties naar JPG‑afbeeldingen helpt bij het delen van dia’s, het optimaliseren van de prestaties en het insluiten van inhoud in websites of applicaties. Aspose.Slides stelt u in staat PPTX‑, PPT‑ en ODP‑bestanden om te zetten naar JPEG‑afbeeldingen van hoge kwaliteit. Deze gids legt verschillende converteermethoden uit.

Met deze functies is het eenvoudig om uw eigen presentatie‑viewer te implementeren en een miniatuur voor elke dia te maken. Dit kan handig zijn als u de dia’s wilt beschermen tegen kopiëren of de presentatie in alleen‑lezen‑modus wilt tonen. Aspose.Slides maakt het mogelijk de hele presentatie of een specifieke dia om te zetten naar afbeeldingsformaten.

PowerPoint PPT/PPTX naar JPG converteren

Hieronder staan de stappen om PPT/PPTX naar JPG te converteren:

  1. Maak een instantie van het type Presentatie aan.
  2. Haal het dia‑object van het type Dia op uit de collectie Presentation::getSlides() .
  3. Maak een miniatuur van elke dia en zet deze vervolgens om naar JPG. De methode Slide::getImage(float scaleX, float scaleY) wordt gebruikt om een miniatuur van een dia te verkrijgen. De methode getImage moet worden aangeroepen vanaf de gewenste Dia en de schaalwaarden van de resulterende miniatuur worden als argumenten meegegeven.
  4. Nadat u de dia‑miniatuur hebt verkregen, roept u de IImage::save(String formatName, int imageFormat)‑methode aan vanuit het miniatuurobject. Geef de resulterende bestandsnaam en het afbeeldingsformaat door.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # Maakt een afbeelding op volledige schaal
      $slideImage = $sld->getImage(1.0, 1.0);
      # Slaat de afbeelding op schijf op in JPEG-formaat
      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 naar JPG converteren met aangepaste afmetingen

Om de afmeting van de resulterende miniatuur en JPG‑afbeelding aan te passen, kunt u de ScaleX- en ScaleY-waarden instellen door ze door te geven aan de methoden Slide::getImage(float scaleX, float scaleY):

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # Definieert afmetingen
    $desiredX = 1200;
    $desiredY = 800;
    # Haalt geschaalde waarden van X en Y op
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # Maakt een afbeelding op volledige schaal
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # Slaat de afbeelding op schijf op in JPEG-formaat
      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();
    }
  }

Reacties renderen bij het opslaan van dia’s als afbeeldingen

Aspose.Slides for PHP via Java biedt een functionaliteit waarmee u opmerkingen in de dia’s van een presentatie kunt weergeven wanneer u die dia’s converteert naar afbeeldingen. Deze PHP‑code demonstreert de werking:

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

FAQ

Ondersteunt deze methode batch‑conversie?

Ja, Aspose.Slides staat batch‑conversie van meerdere dia’s naar JPG toe in één enkele operatie.

Worden SmartArt, diagrammen en andere complexe objecten ondersteund bij de conversie?

Ja, Aspose.Slides rendert alle inhoud, inclusief SmartArt, diagrammen, tabellen, vormen en meer. De weergave‑nauwkeurigheid kan echter enigszins afwijken van PowerPoint, vooral bij aangepaste of ontbrekende lettertypen.

Zijn er beperkingen op het aantal dia’s dat verwerkt kan worden?

Aspose.Slides zelf legt geen strikte limieten op het aantal dia’s dat u kunt verwerken. Bij zeer grote presentaties of hoge resoluties kunt u echter een out‑of‑memory‑fout tegenkomen.

Zie ook

Zie andere opties om PPT/PPTX naar afbeelding te converteren, bijvoorbeeld: