Konwertuj prezentacje PowerPoint do XML w PHP
Przegląd
Aspose.Slides for PHP via Java może konwertować prezentacje PowerPoint do formatu PowerPoint XML Presentation. Wyjście XML jest przydatne, gdy potrzebna jest tekstowa reprezentacja do analizowania struktury prezentacji, rozwiązywania problemów z wygenerowanymi dokumentami, porównywania wyników w testach automatycznych lub integracji z przepływem pracy, który konsumuje XML zamiast pakietu prezentacji.
Użyj metody Presentation::save z wartością Xml z wyliczenia SaveFormat. Wynik można zapisać bezpośrednio do pliku lub do strumienia.
Note
SaveFormat::Xml tworzy PowerPoint XML Presentation. Nie wyodrębnia poszczególnych części Office Open XML przechowywanych w pakiecie PPTX. Jeśli potrzebujesz dokładnych części pakietu PPTX, takich jak ppt/presentation.xml lub indywidualnych plików XML slajdów, sprawdź sam pakiet PPTX.
Konwertuj prezentację na plik XML
Załaduj prezentację źródłową przy użyciu klasy Presentation, a następnie przekaż ścieżkę wyjściową i SaveFormat::Xml do Presentation::save. Źródło może być w dowolnym formacie obsługiwanym przy ładowaniu, takim jak PPT, PPTX lub ODP.
Poniższy przykład konwertuje prezentację PPTX na plik 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();
}
Zapisz wyjście XML do strumienia
Użyj przeciążenia strumieniowego metody Presentation::save, gdy XML musi pozostać w pamięci lub być przekazany do innego komponentu, takiego jak usługa sieciowa, dostawca przechowywania lub potok przetwarzania XML. Poniższy przykład zapisuje wynik do ByteArrayOutputStream i uzyskuje wygenerowany XML jako tablicę bajtów:
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();
// Przekaż $xmlBytes do następnego komponentu w przepływie pracy.
} finally {
$xmlStream->close();
}
} finally {
$presentation->dispose();
}
ByteArrayOutputStream przechowuje wszystkie wygenerowane dane w pamięci, więc przed wywołaniem toByteArray nie jest wymagane resetowanie pozycji.
Porównaj XML z formatami prezentacji i eksportu
Wybierz format wyjściowy w zależności od tego, jak wynik będzie używany:
| Format | Wyjście | Typowe zastosowanie |
|---|---|---|
PowerPoint XML (.xml) |
Prezentacja PowerPoint XML | Analiza struktury, rozwiązywanie problemów, porównywanie wygenerowanego wyniku oraz integracja oparta na XML |
PPT (.ppt) |
Plik prezentacji w starszym formacie binarnym | Kompatybilność ze starszymi przepływami pracy PowerPoint |
PPTX (.pptx) |
Pakiet Office Open XML zawierający wiele części | Standardowa edycja PowerPoint i wymiana prezentacji |
| PDF lub TIFF | Strony o stałym układzie lub obraz wielostronicowy | Przeglądanie, drukowanie i archiwizacja |
| PNG, JPEG lub SVG | Wizualna reprezentacja pojedynczego slajdu | Miniatury, podglądy i zasoby graficzne |
| HTML lub HTML5 | Wyjście prezentacji przeznaczone dla sieci | Wyświetlanie w przeglądarce i publikowanie w sieci |
W przeciwieństwie do PPT i PPTX, wyjście XML jest przeznaczone głównie do inspekcji i przepływów pracy opartych na danych. W przeciwieństwie do PDF, TIFF, HTML i formatów obrazów slajdów, reprezentuje dane prezentacji, a nie renderuje slajdów jako strony lub zasoby wizualne. W tabeli obsługiwane formaty plików format PowerPoint XML Presentation jest wymieniony jako jedynie do zapisu, więc nie należy go używać, gdy przepływ pracy musi ponownie wczytać wyeksportowany plik do Aspose.Slides w celu dalszej edycji.
FAQ
Czy SaveFormat::Xml jest tym samym, co zapisanie pliku PPTX?
Nie. PPTX jest pakietem zawierającym wiele części Office Open XML, natomiast SaveFormat::Xml tworzy plik PowerPoint XML Presentation.
Czy mogę zapisać wyjście XML bez tworzenia pliku na dysku?
Tak. Przekaż zapisywalny strumień do Presentation::save. Na przykład użyj ByteArrayOutputStream do przetwarzania w pamięci.
Czy Aspose.Slides może ponownie wczytać wyeksportowany plik XML?
Nie. PowerPoint XML Presentation jest obecnie obsługiwany wyłącznie do zapisu, a nie do odczytu. Użyj PPTX lub innego obsługiwanego formatu prezentacji, gdy wymagana jest edycja w obie strony.
Czy konwersja XML renderuje każdy slajd jako stronę lub obraz?
Nie. Konwersja XML zapisuje ustrukturyzowane dane prezentacji. Użyj PDF lub TIFF do wyjścia w formie stron, lub PNG, JPEG i SVG do obrazów poszczególnych slajdów.