Convertir PPT et PPTX en JPG en PHP

À propos de la conversion PowerPoint en JPG

Avec Aspose.Slides API vous pouvez convertir une présentation PowerPoint PPT ou PPTX en image JPG. Il est également possible de convertir PPT/PPTX en JPEG, PNG ou SVG. Avec ces fonctionnalités, il est facile de mettre en œuvre votre propre visualiseur de présentations, de créer la miniature de chaque diapositive. Cela peut être utile si vous souhaitez protéger les diapositives de la présentation contre la copie, ou présenter la présentation en mode lecture seule. Aspose.Slides permet de convertir l’ensemble de la présentation ou une diapositive spécifique en formats d’image.

[todo:image_alt_text

Convertir PowerPoint PPT/PPTX en JPG

Voici les étapes pour convertir PPT/PPTX en JPG :

  1. Créez une instance du type Presentation.
  2. Obtenez l’objet diapositive de type ISlide à partir de la collection Presentation.getSlides() .
  3. Créez la miniature de chaque diapositive puis convertissez‑la en JPG. La méthode ISlide.getImage(float scaleX, float scaleY) est utilisée pour obtenir une miniature d’une diapositive, elle renvoie un objet Images en résultat. La méthode getImage doit être appelée depuis la diapositive souhaitée du type ISlide, les échelles de la miniature résultante sont passées à la méthode.
  4. Après avoir obtenu la miniature de la diapositive, appelez la méthode [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) depuis l’objet miniature. Transmettez le nom de fichier résultant et le format d’image.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # Crée une image à pleine échelle
      $slideImage = $sld->getImage(1.0, 1.0);
      # Enregistre l'image sur le disque au format 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();
    }
  }

Convertir PowerPoint PPT/PPTX en JPG avec des dimensions personnalisées

Pour modifier les dimensions de la miniature et de l’image JPG résultantes, vous pouvez définir les valeurs ScaleX et ScaleY en les transmettant aux méthodes ISlide.getImage(float scaleX, float scaleY) :

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # Définit les dimensions
    $desiredX = 1200;
    $desiredY = 800;
    # Obtient les valeurs mises à l'échelle de X et Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # Crée une image à pleine échelle
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # Enregistre l'image sur le disque au format 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();
    }
  }

Rendre les commentaires lors de l’enregistrement des diapositives en images

Aspose.Slides for PHP via Java offre une fonctionnalité qui vous permet de rendre les commentaires dans les diapositives d’une présentation lors de la conversion de ces diapositives en images. Ce code PHP illustre le fonctionnement :

  $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

Cette méthode prend‑elle en charge la conversion par lots ?
Oui, Aspose.Slides permet la conversion par lots de plusieurs diapositives en JPG en une seule opération.

La conversion prend‑elle en charge SmartArt, les graphiques et d’autres objets complexes ?
Oui, Aspose.Slides rend tout le contenu, y compris SmartArt, les graphiques, les tableaux, les formes, etc. Toutefois, la précision du rendu peut varier légèrement par rapport à PowerPoint, surtout lorsqu’on utilise des polices personnalisées ou manquantes.

Existe‑t‑il des limites au nombre de diapositives pouvant être traitées ?
Aspose.Slides n’impose aucune limite stricte au nombre de diapositives que vous pouvez traiter. Cependant, vous pouvez rencontrer une erreur de dépassement de mémoire lors du traitement de présentations volumineuses ou d’images haute résolution.

Voir aussi

Découvrez d’autres options pour convertir PPT/PPTX en image, telles que :