Obtenir l'arrière-plan entier de la diapositive de présentation en tant qu'image

Contents
[ ]

Dans les présentations PowerPoint, l’arrière-plan de diapositive peut être constitué de nombreux éléments. En plus de l’image définie comme l'arrière-plan de la diapositive, l’arrière-plan final peut être influencé par le thème de la présentation, le schéma de couleurs et les formes placées sur la diapositive maître et la diapositive de mise en page.

Aspose.Slides pour PHP via Java ne fournit pas de méthode simple pour extraire l’arrière-plan entier de la diapositive de présentation en tant qu’image, mais vous pouvez suivre les étapes ci-dessous pour le faire :

  1. Chargez la présentation en utilisant la classe Presentation.
  2. Obtenez la taille de la diapositive à partir de la présentation.
  3. Sélectionnez une diapositive.
  4. Créez une présentation temporaire.
  5. Définissez la même taille de diapositive dans la présentation temporaire.
  6. Clonez la diapositive sélectionnée dans la présentation temporaire.
  7. Supprimez les formes de la diapositive clonée.
  8. Convertissez la diapositive clonée en image.

L’exemple de code suivant extrait l’arrière-plan entier de la diapositive de présentation en tant qu’image.

$slideIndex = 0;
$imageScale = 1;

$presentation = new Presentation("sample.pptx");

$slideSize = $presentation->getSlideSize()->getSize();
$slide = $presentation->getSlides()->get_Item($slideIndex);

$tempPresentation = new Presentation();

$slideWidth = $slideSize->getWidth();
$slideHeight = $slideSize->getHeight();
$tempPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::DoNotScale);

$clonedSlide = $tempPresentation->getSlides()->addClone($slide);
$clonedSlide->getShapes()->clear();

$background = clonedSlide->getImage($imageScale, $imageScale);
$background->save("output->png", ImageFormat::Png);

$tempPresentation->dispose();
$presentation->dispose();