Gesamten Folienhintergrund aus einer Präsentation als Bild erhalten

Übersicht

In PowerPoint-Präsentationen kann ein Folienhintergrund aus mehreren Elementen bestehen, darunter das Hintergrundbild der Folie, das Präsentationsthema, das Farbschema und Objekte, die auf der Master-Folie oder Layout-Folie platziert sind.

Dieser Artikel zeigt, wie man den gesamten Folienhintergrund als Bild mit Aspose.Slides für Python via Java extrahiert. Da es keine einzelne Methode dafür gibt, besteht der Ansatz darin, die ausgewählte Folie in eine temporäre Präsentation zu klonen, die Folienformen zu entfernen und anschließend den resultierenden Folienhintergrund in ein Bild zu konvertieren.

Gesamten Folienhintergrund extrahieren

Aspose.Slides für Python via Java bietet keine einfache Methode, um den gesamten Folienhintergrund einer Präsentation als Bild zu extrahieren, aber Sie können die folgenden Schritte befolgen, um dies zu erreichen:

  1. Laden Sie die Präsentation mit der Klasse Presentation.
  2. Ermitteln Sie die Foliengröße aus 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 Folienhintergrund der Präsentation als Bild.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SlideSizeScaleType, ImageFormat

slide_index = 0
image_scale = 1.0

presentation = Presentation("sample.pptx")
try:
    slide_size = presentation.getSlideSize().getSize()
    slide = presentation.getSlides().get_Item(slide_index)

    temp_presentation = Presentation()
    try:
        slide_width = jpype.JFloat(slide_size.getWidth())
        slide_height = jpype.JFloat(slide_size.getHeight())
        temp_presentation.getSlideSize().setSize(slide_width, slide_height, SlideSizeScaleType.DoNotScale)

        cloned_slide = temp_presentation.getSlides().addClone(slide)
        cloned_slide.getShapes().clear()

        background = cloned_slide.getImage(image_scale, image_scale)
        try:
            background.save("output.png", ImageFormat.Png)
        finally:
            background.dispose()
    finally:
        temp_presentation.dispose()
finally:
    presentation.dispose()

FAQ

Werden komplexe Verlaeufe, Texturen oder Bildfuellungen von einer Master-Folie im resultierenden Hintergrundbild erhalten?

Ja. Aspose.Slides rendert Gradient-, Bild- und Texturfuellungen, die auf der Folie, dem Layout oder dem Master definiert sind. Wenn Sie das Aussehen von vererbten Mastern isolieren moechten, setzen Sie einen benutzerdefinierten Hintergrund auf der aktuellen Folie, bevor Sie exportieren.

Kann ich dem resultierenden Hintergrundbild vor dem Speichern ein Wasserzeichen hinzufuegen?

Ja. Sie können ein Wasserzeichen hinzufuegen Form oder Bild auf einer Arbeits-Kopie der Folie (hinter anderem Inhalt platziert) hinzufuegen und dann exportieren. So erhalten Sie ein Hintergrundbild, in das das Wasserzeichen eingebettet ist.

Kann ich den Hintergrund fuer ein bestimmtes Layout oder Master erhalten, ohne ihn an eine vorhandene Folie zu binden?

Ja. Greifen Sie auf das gewuenschte Master- oder Layout zu, wenden Sie es auf eine temporare Folie mit der erforderten Groesse an und exportieren Sie diese Folie, um den aus diesem Layout oder Master abgeleiteten Hintergrund zu erhalten.

Gibt es Lizenzbeschraenkungen, die den Bildexport beeinflussen?

Render-Funktionen sind mit einer gueltige Lizenz vollstaendig verfuegbar. Im Evaluierungsmodus kann die Ausgabe Einschränkungen wie ein Wasserzeichen enthalten. Aktivieren Sie die Lizenz einmal pro Prozess, bevor Sie Batch-Exporte starten.