Převést prezentace PowerPoint do XML v PHP

Přehled

Aspose.Slides pro PHP přes Java může převádět prezentace PowerPoint do formátu PowerPoint XML Presentation. Výstup XML je užitečný, když potřebujete textovou reprezentaci pro kontrolu struktury prezentace, odstraňování problémů s vygenerovanými dokumenty, porovnávání výstupu v automatizovaných testech nebo integraci s pracovním tokem, který spotřebovává XML místo balíčku s prezentací.

Použijte metodu Presentation::save s hodnotou Xml z výčtu SaveFormat. Výsledek můžete zapsat přímo do souboru nebo do proudu.

Převést prezentaci do XML souboru

Načtěte zdrojovou prezentaci pomocí třídy Presentation a poté předávejte výstupní cestu a SaveFormat::Xml metodě Presentation::save. Zdroj může být jakýkoli formát prezentace podporovaný pro načítání, například PPT, PPTX nebo ODP.

Následující příklad převádí PPTX prezentaci do XML souboru:

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

Zapsat výstup XML do proudu

Použijte přetížení proudu metody Presentation::save, když XML musí zůstat v paměti nebo být předáno dalšímu komponentu, například webové službě, poskytovateli úložiště nebo XML zpracovatelskému potrubí. Následující příklad zapisuje výsledek do ByteArrayOutputStream a získává vygenerované XML jako pole bytů:

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

        // Předat $xmlBytes dalšímu komponentu v pracovním toku.
    } finally {
        $xmlStream->close();
    }
} finally {
    $presentation->dispose();
}

ByteArrayOutputStream ukládá všechna vygenerovaná data v paměti, takže před voláním toByteArray není vyžadováno resetování pozice.

Porovnat XML s formáty prezentace a exportu

Zvolte výstupní formát podle toho, jak bude výsledek použit:

Formát Výstup Typické použití
PowerPoint XML (.xml) PowerPoint XML Presentation Kontrola struktury, odstraňování problémů, porovnávání vygenerovaného výstupu a integrace založené na XML
PPT (.ppt) Starší binární soubor prezentace Kompatibilita se staršími pracovními postupy PowerPoint
PPTX (.pptx) Balíček Office Open XML obsahující více částí Běžná úprava PowerPoint a výměna prezentací
PDF nebo TIFF Stránky s pevnou rozvržením nebo více‑stránkový obrázek Prohlížení, tisk a archivace
PNG, JPEG nebo SVG Vykreslená reprezentace jednotlivého snímku Náhledy, miniatury a grafické soubory
HTML nebo HTML5 Webově orientovaný výstup prezentace Prohlížení v prohlížeči a publikování na webu

Na rozdíl od PPT a PPTX je výstup XML primárně určen pro inspekci a datově orientované pracovní toky. Na rozdíl od PDF, TIFF, HTML a formátů obrázků snímků představuje data prezentace místo vykreslení snímků jako stránek nebo vizuálních aktiv. Tabulka podporované formáty souborů uvádí PowerPoint XML Presentation jako formát pouze pro ukládání, takže jej nepoužívejte, pokud pracovní tok musí načíst exportovaný soubor zpět do Aspose.Slides pro další úpravy.

Často kladené otázky

Je SaveFormat::Xml stejné jako uložení souboru PPTX?

Ne. PPTX je balíček obsahující více částí Office Open XML, zatímco SaveFormat::Xml vytváří soubor PowerPoint XML Presentation.

Mohu uložit výstup XML bez vytvoření souboru na disku?

Ano. Předávejte zapisovatelný proud metodě Presentation::save. Například použijte ByteArrayOutputStream pro zpracování v paměti.

Může Aspose.Slides načíst exportovaný XML soubor znovu?

Ne. PowerPoint XML Presentation je v současnosti podporováno pouze pro ukládání, ne pro načítání. Použijte PPTX nebo jiný podporovaný formát prezentace, pokud je vyžadována obousměrná úprava.

Převádí XML konverze každý snímek jako stránku nebo obrázek?

Ne. XML konverze zapisuje strukturovaná data prezentace. Pro výstup zaměřený na stránky použijte PDF nebo TIFF, nebo pro jednotlivé snímky PNG, JPEG a SVG.