Converti le presentazioni PowerPoint in XML in PHP

Panoramica

Aspose.Slides per PHP via Java può convertire le presentazioni PowerPoint nel formato PowerPoint XML Presentation. L’output XML è utile quando è necessaria una rappresentazione basata su testo per ispezionare la struttura della presentazione, risolvere problemi nei documenti generati, confrontare l’output in test automatici o integrare con un flusso di lavoro che utilizza XML invece di un pacchetto di presentazione.

Utilizza il metodo Presentation::save con il valore Xml dell’enumerazione SaveFormat. È possibile scrivere il risultato direttamente su un file o su uno stream.

Convertire una presentazione in un file XML

Carica una presentazione sorgente con la classe Presentation, quindi passa il percorso di output e SaveFormat::Xml a Presentation::save. La sorgente può essere qualsiasi formato di presentazione supportato per il caricamento, come PPT, PPTX o ODP.

Il seguente esempio converte una presentazione PPTX in un file XML:

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();
}

Scrivere l’output XML su uno stream

Utilizza la sovraccarico per stream di Presentation::save quando l’XML deve rimanere in memoria o essere passato a un altro componente, come un servizio web, un provider di storage o una pipeline di elaborazione XML. Il seguente esempio scrive il risultato in un ByteArrayOutputStream e ottiene l’XML generato come array di byte:

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();

        // Passa $xmlBytes al componente successivo nel flusso di lavoro.
    } finally {
        $xmlStream->close();
    }
} finally {
    $presentation->dispose();
}

Un ByteArrayOutputStream memorizza tutti i dati generati in memoria, quindi non è necessario ripristinare la posizione prima di chiamare toByteArray.

Confrontare XML con i formati di presentazione ed esportazione

Scegli il formato di output in base a come verrà utilizzato il risultato:

Formato Output Uso tipico
PowerPoint XML (.xml) Una PowerPoint XML Presentation Ispezione della struttura, risoluzione dei problemi, confronto dell’output generato e integrazione basata su XML
PPT (.ppt) Un file di presentazione binario legacy Compatibilità con flussi di lavoro PowerPoint più vecchi
PPTX (.pptx) Un pacchetto Office Open XML contenente più parti Modifica regolare di PowerPoint e scambio di presentazioni
PDF o TIFF Pagine a layout fisso o un’immagine multipagina Visualizzazione, stampa e archiviazione
PNG, JPEG o SVG Una rappresentazione renderizzata di una singola diapositiva Miniature, anteprime e risorse immagine
HTML o HTML5 Output di presentazione orientato al web Visualizzazione in browser e pubblicazione web

A differenza di PPT e PPTX, l’output XML è principalmente destinato a flussi di lavoro di ispezione e orientati ai dati. A differenza di PDF, TIFF, HTML e dei formati immagine delle diapositive, rappresenta i dati della presentazione anziché renderizzare le diapositive come pagine o risorse visive. La tabella dei formati di file supportati elenca PowerPoint XML Presentation come formato solo per il salvataggio, quindi non usarlo quando un flusso di lavoro deve caricare nuovamente il file esportato in Aspose.Slides per continuare l’editing.

FAQ

Il SaveFormat::Xml è lo stesso di salvare un file PPTX?

No. PPTX è un pacchetto che contiene più parti Office Open XML, mentre SaveFormat::Xml crea un file PowerPoint XML Presentation.

Posso salvare l’output XML senza creare un file su disco?

Sì. Passa uno stream scrivibile a Presentation::save. Ad esempio, utilizza un ByteArrayOutputStream per l’elaborazione in memoria.

Aspose.Slides può caricare nuovamente il file XML esportato?

No. PowerPoint XML Presentation è attualmente supportato solo per il salvataggio, non per il caricamento. Utilizza PPTX o un altro formato di presentazione supportato quando è necessario un editing bidirezionale.

La conversione XML rende ogni diapositiva come una pagina o un’immagine?

No. La conversione XML scrive dati strutturati della presentazione. Usa PDF o TIFF per un output orientato alle pagine, oppure PNG, JPEG e SVG per immagini di singole diapositive.