Μετατροπή PPT και PPTX σε JPG με PHP

Εισαγωγή

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

Με αυτές τις δυνατότητες, είναι εύκολο να υλοποιήσετε το δικό σας πρόγραμμα προβολής παρουσιάσεων και να δημιουργήσετε μια μικρογραφία για κάθε διαφάνεια. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να προστατεύσετε τις διαφάνειες από αντιγραφή ή να παρουσιάσετε την παρουσίαση σε λειτουργία μόνο για ανάγνωση. Το Aspose.Slides σας επιτρέπει να μετατρέψετε ολόκληρη την παρουσίαση ή μια συγκεκριμένη διαφάνεια σε μορφές εικόνας.

Μετατροπή PowerPoint PPT/PPTX σε JPG

  1. Δημιουργήστε ένα αντικείμενο τύπου Presentation.
  2. Αποκτήστε το αντικείμενο διαφάνειας τύπου Slide από τη συλλογή Presentation::getSlides().
  3. Δημιουργήστε τη μικρογραφία κάθε διαφάνειας και στη συνέχεια μετατρέψτε την σε JPG. Η μέθοδος Slide::getImage(float scaleX, float scaleY) χρησιμοποιείται για να λάβετε μια μικρογραφία διαφάνειας. Η μέθοδος getImage πρέπει να κληθεί από τη ζητούμενη διαφάνεια του τύπου Slide, και οι κλίμακες της προκύπτουσας μικρογραφίας περνούν στη μέθοδο.
  4. Αφού λάβετε τη μικρογραφία της διαφάνειας, καλέστε τη μέθοδο [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/el/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) από το αντικείμενο μικρογραφίας. Περάστε το όνομα του παραγόμενου αρχείου και τη μορφή εικόνας στη μέθοδο.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # Δημιουργεί εικόνα πλήρους κλίμακας
      $slideImage = $sld->getImage(1.0, 1.0);
      # Αποθηκεύει την εικόνα στο δίσκο σε μορφή JPEG
      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 σε JPG με Προσαρμοσμένες Διαστάσεις

Για να αλλάξετε τη διάσταση της προκύπτουσας μικρογραφίας και της εικόνας JPG, μπορείτε να ορίσετε τις τιμές ScaleX και ScaleY περνώντας τις στη μέθοδο Slide::getImage(float scaleX, float scaleY).

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # Ορίζει διαστάσεις
    $desiredX = 1200;
    $desiredY = 800;
    # Λαμβάνει τις κλιμακωμένες τιμές του X και του Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # Δημιουργεί εικόνα πλήρους κλίμακας
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # Αποθηκεύει την εικόνα στο δίσκο σε μορφή JPEG
      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();
    }
  }

Απόδοση Σχολίων Κατά την Αποθήκευση Διαφανειών ως Εικόνες

Το Aspose.Slides for PHP μέσω Java παρέχει μια δυνατότητα που σας επιτρέπει να αποδίδετε σχόλια στις διαφάνειες μιας παρουσίασης όταν τις μετατρέπετε σε εικόνες. Αυτός ο κώδικας PHP δείχνει τη λειτουργία:

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

ΣΥΧΝΑ ΕΡΩΤΗΜΑΤΑ

Υποστηρίζει αυτή η μέθοδος τη μαζική μετατροπή;

Ναι, το Aspose.Slides επιτρέπει τη μαζική μετατροπή πολλαπλών διαφανειών σε JPG σε μία ενέργεια.

Υποστηρίζει η μετατροπή το SmartArt, τα διαγράμματα και άλλα σύνθετα αντικείμενα;

Ναι, το Aspose.Slides αποδίδει όλο το περιεχόμενο, συμπεριλαμβανομένου του SmartArt, των διαγραμμάτων, των πινάκων, των σχημάτων και άλλων. Ωστόσο, η ακρίβεια απόδοσης μπορεί να διαφέρει λίγο σε σύγκριση με το PowerPoint, ειδικά όταν χρησιμοποιούνται προσαρμοσμένες ή ελλείπουσες γραμματοσειρές.

Υπάρχουν περιορισμοί στον αριθμό των διαφανειών που μπορούν να επεξεργαστούν;

Το ίδιο το Aspose.Slides δεν θέτει αυστηρούς περιορισμούς στον αριθμό των διαφανειών που μπορείτε να επεξεργαστείτε. Ωστόσο, μπορεί να αντιμετωπίσετε σφάλμα έλλειψης μνήμης όταν εργάζεστε με μεγάλες παρουσιάσεις ή εικόνες υψηλής ανάλυσης.

Δείτε επίσης

Δείτε άλλες επιλογές για μετατροπή PPT/PPTX σε εικόνα όπως: