Créer des miniatures de formes de présentation en PHP

Vue d’ensemble

Dans ce sujet, nous montrerons comment générer des miniatures de diapositives dans différentes situations :

  • Générer une vignette de forme à l’intérieur d’une diapositive.
  • Générer une vignette de forme pour une forme de diapositive avec des dimensions définies par l’utilisateur.
  • Générer une vignette de forme dans les limites de l’apparence d’une forme.

Générer une vignette de forme à partir d’une diapositive

Pour générer une vignette de forme à partir de n’importe quelle diapositive en utilisant Aspose.Slides for PHP via Java, procédez comme suit :

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence de n’importe quelle diapositive en utilisant son ID ou son index.
  3. Obtenez l’image miniature de forme de la diapositive référencée avec l’échelle par défaut.
  4. Enregistrez l’image miniature dans le format d’image de votre choix.
  # Instancier une classe Presentation qui représente le fichier de présentation
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Créer une image à pleine échelle
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage();
    # Enregistrer l'image sur le disque au format PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Générer une vignette avec un facteur d’échelle défini par l’utilisateur

Pour générer la vignette de forme d’une diapositive en utilisant Aspose.Slides for PHP via Java, procédez comme suit :

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence de n’importe quelle diapositive en utilisant son ID ou son index.
  3. Obtenez l’image miniature de forme de la diapositive référencée avec des dimensions définies par l’utilisateur.
  4. Enregistrez l’image miniature dans le format d’image de votre choix.
  # Instancier une classe Presentation qui représente le fichier de présentation
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Créer une image à l'échelle complète
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Shape, 1, 1);
    # Enregistrer l'image sur le disque au format PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Créer une vignette d’apparence de forme basée sur les limites

Cette méthode de création de vignettes de formes permet aux développeurs de générer une vignette dans les limites de l’apparence de la forme. Elle prend en compte tous les effets de forme. La vignette de forme générée est limitée par les limites de la diapositive. Pour générer une vignette d’une forme de diapositive dans les limites de son apparence, procédez comme suit :

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence de n’importe quelle diapositive en utilisant son ID ou son index.
  3. Obtenez l’image miniature de la diapositive référencée avec les limites de forme comme apparence.
  4. Enregistrez l’image miniature dans le format d’image de votre choix.
  # Instancier une classe Presentation qui représente le fichier de présentation
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Créer une image à pleine échelle
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Appearance, 1, 1);
    # Enregistrer l'image sur le disque au format PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Quels formats d’image peuvent être utilisés lors de l’enregistrement des vignettes de forme ?

PNG, JPEG, BMP, GIF, TIFF, et d’autres. Les formes peuvent également être exportées au format vectoriel SVG en enregistrant le contenu de la forme au format SVG.

Quelle est la différence entre les limites Shape et Appearance lors du rendu d’une vignette ?

Shape utilise la géométrie de la forme ; Appearance prend en compte les effets visuels (ombres, lueurs, etc.).

Que se passe-t-il si une forme est marquée comme masquée ? Sera-t-elle toujours rendue en vignette ?

Une forme masquée reste partie du modèle et peut être rendue ; le drapeau masqué affecte l’affichage du diaporama mais n’empêche pas la génération de l’image de la forme.

Les formes groupées, les graphiques, SmartArt et autres objets complexes sont-ils pris en charge ?

Oui. Tout objet représenté comme Shape (y compris GroupShape, Chart, et SmartArt) peut être enregistré en tant que vignette ou en tant que SVG.

Les polices installées sur le système affectent-elles la qualité des vignettes pour les formes de texte ?

Oui. Vous devez fournir les polices requises (ou configurer des substitutions de police) afin d’éviter les substitutions indésirables et le reformatage du texte.