PowerPoint-Präsentationen in XML in PHP konvertieren

Übersicht

Aspose.Slides für PHP via Java kann PowerPoint‑Präsentationen in das PowerPoint‑XML‑Presentation‑Format konvertieren. XML‑Ausgabe ist nützlich, wenn Sie eine textbasierte Darstellung benötigen, um die Präsentationsstruktur zu untersuchen, erzeugte Dokumente zu trouble­shooten, Ausgaben in automatisierten Tests zu vergleichen oder sie in einen Workflow zu integrieren, der XML anstelle eines Präsentationspakets verarbeitet.

Verwenden Sie die Presentation::save‑Methode mit dem Xml‑Wert aus der Aufzählung SaveFormat. Sie können das Ergebnis direkt in eine Datei oder in einen Stream schreiben.

Eine Präsentation in eine XML‑Datei konvertieren

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:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$inputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.pptx";
$outputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.xml";
$presentation = new Presentation($inputPath);
try {
    $presentation->save($outputPath, SaveFormat::Xml);
} finally {
    $presentation->dispose();
}

XML‑Ausgabe in einen Stream schreiben

Verwenden Sie die Stream‑Überladung von Presentation::save, wenn die XML‑Daten im Speicher bleiben oder an eine andere Komponente weitergegeben werden müssen, z. B. einen Webservice, einen Speicheranbieter oder eine XML‑Verarbeitungspipeline. Das folgende Beispiel schreibt das Ergebnis in einen ByteArrayOutputStream und erhält das erzeugte XML als Byte‑Array:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$inputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.pptx";
$presentation = new Presentation($inputPath);
try {
    $xmlStream = new Java("java.io.ByteArrayOutputStream");
    try {
        $presentation->save($xmlStream, SaveFormat::Xml);
        $xmlBytes = $xmlStream->toByteArray();

        // Geben Sie $xmlBytes an die nächste Komponente im Workflow weiter.
    } finally {
        $xmlStream->close();
    }
} finally {
    $presentation->dispose();
}

Ein ByteArrayOutputStream speichert alle erzeugten Daten im Speicher, sodass vor dem Aufruf von toByteArray kein Positions‑Reset erforderlich ist.

XML mit Präsentations‑ und Exportformaten vergleichen

Wählen Sie das Ausgabeformat je nach Verwendungszweck des Ergebnisses:

Format Ausgabe Typische Verwendung
PowerPoint XML (.xml) Eine PowerPoint‑XML‑Presentation Untersuchung der Struktur, Fehlersuche, Vergleich von erzeugten 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 Normale PowerPoint‑Bearbeitung und Austausch von Präsentationen
PDF oder TIFF Seiten mit festem Layout oder ein mehrseitiges Bild Anzeige, Druck und Archivierung
PNG, JPEG oder SVG Eine gerenderte Darstellung einer einzelnen Folie Miniaturen, Vorschauen und Bild‑Assets
HTML oder HTML5 Weborientierte 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 bereit, anstatt Folien als Seiten oder visuelle Assets zu rendern. Die Tabelle der unterstützten Dateiformate 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 SaveFormat::Xml dasselbe 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‑Presentation‑Datei erstellt.

Kann ich die XML‑Ausgabe speichern, ohne eine Datei auf der Festplatte zu erstellen?

Ja. übergeben Sie einen beschreibbaren Stream an Presentation::save. Verwenden Sie zum Beispiel einen ByteArrayOutputStream für die In‑Memory‑Verarbeitung.

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‑Editieren 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.