Μετατροπή διαφανειών PowerPoint σε PNG με PHP

Επισκόπηση

Αυτό το άρθρο εξηγεί πώς να μετατρέψετε παρουσιάσεις PowerPoint σε εικόνες PNG χρησιμοποιώντας το Aspose.Slides. Δείχνει πώς να φορτώσετε αρχεία παρουσίασης σε μορφές όπως PPT, PPTX και ODP, να αποδόσετε διαφάνειες ως εικόνες και να αποθηκεύσετε τα αποτελέσματα σε μορφή PNG.

Το άρθρο επίσης παρουσιάζει πώς να προσαρμόσετε τις παραγόμενες εικόνες PNG ορίζοντας τιμές κλίμακας ή καθορίζοντας το επιθυμητό πλάτος και ύψος.

Μετατροπή PowerPoint σε PNG

Ακολουθήστε αυτά τα βήματα:

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation.
  2. Πάρτε το αντικείμενο διαφάνειας από τη συλλογή Presentation.getSlides() της κλάσης Slide.
  3. Χρησιμοποιήστε τη μέθοδο Slide.getImage() για να λάβετε τη μικρογραφία για κάθε διαφάνεια.
  4. Χρησιμοποιήστε τη μέθοδο IImage.save(String formatName, int imageFormat) για να αποθηκεύσετε τη μικρογραφία της διαφάνειας σε μορφή PNG.

Αυτός ο κώδικας PHP δείχνει πώς να μετατρέψετε μια παρουσίαση PowerPoint σε PNG:

  $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 σε PNG με προσαρμοσμένες διαστάσεις

Εάν θέλετε να λάβετε αρχεία PNG με συγκεκριμένη κλίμακα, μπορείτε να ορίσετε τις τιμές για desiredX και desiredY, οι οποίες καθορίζουν τις διαστάσεις της προκύπτουσας μικρογραφίας.

Αυτός ο κώδικας παρουσιάζει τη περιγραφόμενη λειτουργία:

  $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 σε PNG με προσαρμοσμένο μέγεθος

Εάν θέλετε να λάβετε αρχεία PNG με συγκεκριμένο μέγεθος, μπορείτε να περάσετε τα επιθυμητά ορίσματα width και height για το ImageSize.

Αυτός ο κώδικας δείχνει πώς να μετατρέψετε ένα PowerPoint σε PNG καθορίζοντας το μέγεθος των εικόνων:

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

Συχνές Ερωτήσεις

Πώς μπορώ να εξάγω μόνο ένα συγκεκριμένο σχήμα (π.χ., γράφημα ή εικόνα) αντί για ολόκληρη τη διαφάνεια;

Το Aspose.Slides υποστηρίζει τη δημιουργία μικρογραφιών για ξεχωριστά σχήματα; μπορείτε να αποδώσετε ένα σχήμα σε εικόνα PNG.

Υποστηρίζεται η παράλληλη μετατροπή σε διακομιστή;

Ναι, αλλά μην μοιράζεστε ένα μόνο αντικείμενο παρουσίασης μεταξύ νημάτων. Χρησιμοποιήστε ξεχωριστό αντικείμενο ανά νήμα ή διεργασία.

Ποιες είναι οι περιορισμοί της δοκιμαστικής έκδοσης κατά την εξαγωγή σε PNG;

Η λειτουργία αξιολόγησης προσθέτει υδατογράφημα στις εικόνες εξόδου και επιβάλλει άλλους περιορισμούς μέχρι να εφαρμοστεί άδεια.