PowerPoint-Folien in PNG konvertieren in PHP

Über die PowerPoint-zu-PNG-Konvertierung

Das PNG (Portable Network Graphics)-Format ist nicht so populär wie JPEG (Joint Photographic Experts Group), ist aber weiterhin sehr beliebt.

Anwendungsfall: Wenn Sie ein komplexes Bild haben und die Größe kein Problem darstellt, ist PNG ein besseres Bildformat als JPEG.

PowerPoint in PNG konvertieren

Gehen Sie wie folgt vor:

  1. Instanziieren Sie die Presentation Klasse.
  2. Rufen Sie das Folienobjekt aus der Presentation.getSlides() Sammlung der Slide Klasse ab.
  3. Verwenden Sie die Methode Slide.getImage(), um die Miniaturansicht für jede Folie zu erhalten.
  4. Verwenden Sie die Methode IImage.save(String formatName, int imageFormat), um die Folien‑Miniaturansicht im PNG-Format zu speichern.

Dieser PHP-Code zeigt, wie Sie eine PowerPoint-Präsentation in PNG konvertieren:

  $pres = new Presentation("pres.pptx");
  try {
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage();
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

PowerPoint in PNG mit benutzerdefinierten Abmessungen konvertieren

Wenn Sie PNG-Dateien in einem bestimmten Maßstab erhalten möchten, können Sie die Werte für desiredX und desiredY festlegen, die die Abmessungen der resultierenden Miniaturansicht bestimmen.

Dieser Code demonstriert die beschriebene Vorgehensweise:

  $pres = new Presentation("pres.pptx");
  try {
    $scaleX = 2.0;
    $scaleY = 2.0;
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage($scaleX, $scaleY);
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

PowerPoint in PNG mit benutzerdefinierter Größe konvertieren

Wenn Sie PNG-Dateien in einer bestimmten Größe erhalten möchten, können Sie Ihre bevorzugten width‑ und height‑Argumente für ImageSize übergeben.

Dieser Code zeigt, wie Sie ein PowerPoint in PNG konvertieren und dabei die Bildgröße angeben:

  $pres = new Presentation("pres.pptx");
  try {
    $size = new Java("java.awt.Dimension", 960, 720);
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage($size);
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Wie kann ich nur eine bestimmte Form (z. B. Diagramm oder Bild) anstatt der gesamten Folie exportieren?

Aspose.Slides unterstützt das Erzeugen von Miniaturansichten für einzelne Formen; Sie können eine Form als PNG‑Bild rendern.

Wird eine Parallelkonvertierung auf einem Server unterstützt?

Ja, jedoch sollten Sie keine einzelne Präsentationsinstanz über Threads hinweg teilen. Verwenden Sie pro Thread oder Prozess eine separate Instanz.

Welche Einschränkungen gibt es in der Testversion beim Export nach PNG?

Der Evaluierungsmodus fügt den Ausgabebildern ein Wasserzeichen hinzu und erzwingt weitere Einschränkungen, bis eine Lizenz aktiviert wird.