PowerPoint-Präsentationen zu XML konvertieren in Python via Java
Übersicht
Aspose.Slides für Python via Java kann PowerPoint‑Präsentationen in das PowerPoint XML‑Präsentationsformat konvertieren. XML‑Ausgabe ist nützlich, wenn Sie eine textbasierte Darstellung benötigen, um die Präsentationsstruktur zu inspizieren, generierte Dokumente zu Fehlersuchen, Ausgaben in automatisierten Tests zu vergleichen oder in einen Workflow zu integrieren, der XML anstelle eines Präsentationspakets verwendet.
Verwenden Sie die Methode Presentation.save mit dem Wert Xml aus der Klasse SaveFormat . Sie können das Ergebnis direkt in eine Datei oder in einen Stream schreiben.
Hinweis
SaveFormat.Xml erstellt eine PowerPoint XML‑Präsentation. Es extrahiert nicht die einzelnen Office Open XML‑Teile, die in einem PPTX‑Paket gespeichert sind. Wenn Sie die genauen PPTX‑Paketteile benötigen, wieppt/presentation.xml oder einzelne Folien‑XML‑Dateien, untersuchen Sie das PPTX‑Paket selbst.
Konvertieren einer Präsentation in eine XML‑Datei
Laden Sie eine Quellpräsentation mit der Klasse Presentation und übergeben Sie dann den Ausgabepfad sowie SaveFormat.Xml an Presentation.save. Die Quelle kann jedes für das Laden unterstützte Präsentationsformat sein, z. B. PPT, PPTX oder ODP.
Das folgende Beispiel konvertiert eine PPTX‑Präsentation in eine XML‑Datei:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("presentation.pptx")
try:
presentation.save("presentation.xml", SaveFormat.Xml)
finally:
presentation.dispose()
Schreiben der XML‑Ausgabe in einen Stream
Verwenden Sie die Stream‑Überladung von Presentation.save, wenn die XML‑Ausgabe im Speicher bleiben oder an eine andere Komponente übergeben werden soll, z. B. einen Webservice, einen Speicheranbieter oder eine XML‑Verarbeitungspipeline. Das folgende Beispiel schreibt das Ergebnis in einen ByteArrayOutputStream und erhält das resultierende XML als Python‑Bytes‑Objekt:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
ByteArrayOutputStream = jpype.JClass("java.io.ByteArrayOutputStream")
presentation = Presentation("presentation.pptx")
try:
xml_stream = ByteArrayOutputStream()
try:
presentation.save(xml_stream, SaveFormat.Xml)
java_bytes = xml_stream.toByteArray()
xml_data = bytes(java_bytes)
# Übergeben Sie xml_data an die nächste Komponente im Workflow.
finally:
xml_stream.close()
finally:
presentation.dispose()
Vergleich von XML mit Präsentations‑ und Exportformaten
Wählen Sie das Ausgabeformat entsprechend der späteren Verwendung des Ergebnisses:
| Format | Ausgabe | Typische Verwendung |
|---|---|---|
PowerPoint XML (.xml) |
Eine PowerPoint XML‑Präsentation | Inspektion der Struktur, Fehlersuche, Vergleich generierter Ausgaben und XML‑basierte Integration |
PPT (.ppt) |
Eine alte binäre Präsentationsdatei | Kompatibilität mit älteren PowerPoint‑Workflows |
PPTX (.pptx) |
Ein Office Open XML‑Paket mit mehreren Teilen | Reguläre PowerPoint‑Bearbeitung und Präsentationsaustausch |
| PDF oder TIFF | Fest layoutete Seiten oder ein mehrseitiges Bild | Anzeigen, Drucken und Archivieren |
| PNG, JPEG oder SVG | Eine gerenderte Darstellung einer einzelnen Folie | Vorschaubilder, Vorschauen und Bildressourcen |
| HTML oder HTML5 | Web‑orientierte Präsentationsausgabe | Anzeige im Browser und Web‑Veröffentlichung |
Im Gegensatz zu PPT und PPTX ist die XML‑Ausgabe hauptsächlich für Inspektion und datenorientierte Workflows gedacht. Im Gegensatz zu PDF, TIFF, HTML und Folien‑Bildformaten stellt sie Präsentationsdaten dar, anstatt Folien als Seiten oder visuelle Assets zu rendern. Die Tabelle supported file formats listet PowerPoint XML Presentation als reines Speicherformat auf, verwenden Sie sie also nicht, wenn ein Workflow die exportierte Datei wieder in Aspose.Slides laden muss, um weiter zu bearbeiten.
FAQ
Ist der XML‑Export derselbe wie das Speichern einer PPTX‑Datei?
Nein. PPTX ist ein Paket, das mehrere Office Open XML‑Teile enthält, während SaveFormat.Xml eine PowerPoint XML‑Präsentationsdatei erstellt.
Kann ich die XML‑Ausgabe speichern, ohne eine Datei auf der Festplatte zu erstellen?
Ja. Übergeben Sie einen schreibbaren Java‑Ausgabestream an Presentation.save. Verwenden Sie beispielsweise einen ByteArrayOutputStream für die Verarbeitung im Speicher.
Kann Aspose.Slides die exportierte XML‑Datei erneut laden?
Nein. PowerPoint XML Presentation wird derzeit nur zum Speichern unterstützt, nicht zum Laden. Verwenden Sie PPTX oder ein anderes unterstütztes Präsentationsformat, wenn ein Round‑Trip‑Editing erforderlich ist.
Wandelt die XML‑Konvertierung jede Folie in eine Seite oder ein Bild um?
Nein. Die XML‑Konvertierung schreibt strukturierte Präsentationsdaten. Verwenden Sie PDF oder TIFF für seitenorientierte Ausgaben oder PNG, JPEG und SVG für einzelne Folienbilder.