Converteer PowerPoint-presentaties naar XML in PHP

Overzicht

Aspose.Slides voor PHP via Java kan PowerPoint‑presentaties converteren naar het PowerPoint XML‑Presentatie‑formaat. XML‑output is handig wanneer u een tekstgebaseerde weergave nodig heeft om de presentatiestructuur te inspecteren, gegenereerde documenten te troubleshooten, output te vergelijken in geautomatiseerde tests, of te integreren met een workflow die XML consumeert in plaats van een presentatiepakket.

Gebruik de Presentation::save‑methode met de Xml‑waarde van de SaveFormat‑enumeratie. U kunt het resultaat direct naar een bestand of naar een stream schrijven.

Een presentatie naar een XML‑bestand converteren

Laad een bronpresentatie met de Presentation‑klasse en geef vervolgens het uitvoerpad en SaveFormat::Xml door aan Presentation::save. De bron kan elk presentatie‑formaat zijn dat ondersteund wordt voor laden, zoals PPT, PPTX of ODP.

Het volgende voorbeeld converteert een PPTX‑presentatie naar een XML‑bestand:

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‑output naar een stream schrijven

Gebruik de stream‑overload van Presentation::save wanneer de XML in het geheugen moet blijven of moet worden doorgegeven aan een ander component, zoals een webservice, opslagprovider of XML‑verwerkingspipeline. Het volgende voorbeeld schrijft het resultaat naar een ByteArrayOutputStream en verkrijgt de gegenereerde XML als een 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();

        // Geef $xmlBytes door aan de volgende component in de workflow.
    } finally {
        $xmlStream->close();
    }
} finally {
    $presentation->dispose();
}

Een ByteArrayOutputStream slaat alle gegenereerde data in het geheugen op, zodat er geen positie‑reset nodig is vóór het aanroepen van toByteArray.

XML vergelijken met presentatie‑ en exportformaten

Kies het uitvoerformaat op basis van hoe het resultaat wordt gebruikt:

Formaat Output Typisch gebruik
PowerPoint XML (.xml) Een PowerPoint XML‑presentatie Inspectie van de structuur, foutopsporing, vergelijken van gegenereerde output en XML‑gebaseerde integratie
PPT (.ppt) Een legacy binair presentatiedocument Compatibiliteit met oudere PowerPoint‑workflows
PPTX (.pptx) Een Office Open XML‑pakket met meerdere onderdelen Gewoon bewerken van PowerPoint en uitwisseling van presentaties
PDF of TIFF Pagina’s met vaste layout of een meer‑paginas afbeelding Bekijken, afdrukken en archiveren
PNG, JPEG of SVG Een gerenderde weergave van een individuele slide Miniaturen, voorbeeldweergaven en afbeeldings‑assets
HTML of HTML5 Web‑gerichte presentatie‑output Weergave in browsers en publicatie op het web

In tegenstelling tot PPT en PPTX is XML‑output primair bedoeld voor inspectie en data‑gerichte workflows. In tegenstelling tot PDF, TIFF, HTML en slide‑afbeeldingsformaten representeert het presentatie‑data in plaats van slides te renderen als pagina’s of visuele assets. De supported file formats‑tabel vermeldt PowerPoint XML‑Presentatie als een alleen‑opslaan‑formaat, dus gebruik het niet wanneer een workflow het geëxporteerde bestand moet kunnen laden in Aspose.Slides voor vervolg‑bewerking.

FAQ

Is SaveFormat::Xml hetzelfde als het opslaan van een PPTX‑bestand?

Nee. PPTX is een pakket dat meerdere Office Open XML‑onderdelen bevat, terwijl SaveFormat::Xml een PowerPoint XML‑presentatie‑bestand aanmaakt.

Kan ik de XML‑output opslaan zonder een bestand op schijf aan te maken?

Ja. Geef een beschrijfbare stream door aan Presentation::save. Gebruik bijvoorbeeld een ByteArrayOutputStream voor verwerking in het geheugen.

Kan Aspose.Slides het geëxporteerde XML‑bestand opnieuw laden?

Nee. PowerPoint XML‑presentatie wordt momenteel alleen ondersteund voor opslaan, niet voor laden. Gebruik PPTX of een ander ondersteund presentatief­formaat wanneer round‑trip bewerking vereist is.

Rendeert XML‑conversie elke slide als een pagina of afbeelding?

Nee. XML‑conversie schrijft gestructureerde presentatiedata. Gebruik PDF of TIFF voor paginageoriënteerde output, of PNG, JPEG en SVG voor afzonderlijke slide‑afbeeldingen.