Die gesamte Präsentationsfolien-Hintergrund als Bild erhalten

Contents
[ ]

In PowerPoint-Präsentationen kann der Folienhintergrund aus vielen Elementen bestehen. Neben dem Bild, das als Folienhintergrund festgelegt ist, kann der endgültige Hintergrund durch das Präsentationsthema, das Farbschema und die Formen, die auf der Master- und Layoutfolie platziert sind, beeinflusst werden.

Aspose.Slides für C++ bietet keine einfache Methode, um den gesamten Folienhintergrund der Präsentation als Bild zu extrahieren, aber Sie können die folgenden Schritte ausführen, um dies zu tun:

  1. Laden Sie die Präsentation mithilfe der Presentation Klasse.
  2. Holen Sie die Foliengröße von der Präsentation.
  3. Wählen Sie eine Folie aus.
  4. Erstellen Sie eine temporäre Präsentation.
  5. Setzen Sie dieselbe Foliengröße in der temporären Präsentation.
  6. Klonen Sie die ausgewählte Folie in die temporäre Präsentation.
  7. Löschen Sie die Formen von der geklonten Folie.
  8. Konvertieren Sie die geklonte Folie in ein Bild.

Das folgende Codebeispiel extrahiert den gesamten Präsentationsfolien-Hintergrund als Bild.

auto slideIndex = 0;
auto imageScale = 1;

auto presentation = System::MakeObject<Presentation>(u"sample.pptx");

auto slideSize = presentation->get_SlideSize()->get_Size();
auto slide = presentation->get_Slides()->idx_get(slideIndex);

auto tempPresentation = System::MakeObject<Presentation>();

auto slideWidth = slideSize.get_Width();
auto slideHeight = slideSize.get_Height();
tempPresentation->get_SlideSize()->SetSize(slideWidth, slideHeight, SlideSizeScaleType::DoNotScale);

auto clonedSlide = tempPresentation->get_Slides()->AddClone(slide);
clonedSlide->get_Shapes()->Clear();

auto background = clonedSlide->GetImage(imageScale, imageScale);
background->Save(u"output.png", ImageFormat::Png);

tempPresentation->Dispose();
presentation->Dispose();