Konwertuj prezentacje PowerPoint do XML w C++
Przegląd
Aspose.Slides for C++ może konwertować prezentacje PowerPoint na format PowerPoint XML Presentation. Wyjście XML jest przydatne, gdy potrzebujesz tekstowej reprezentacji do przeglądania struktury prezentacji, rozwiązywania problemów z wygenerowanymi dokumentami, porównywania wyników w automatycznych testach 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żesz zapisać bezpośrednio do pliku lub do strumienia.
Note
SaveFormat::Xml tworzy PowerPoint XML Presentation. Nie wyodrębnia ona 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 pojedyncze pliki XML slajdów, zbadaj sam pakiet PPTX.
Konwertuj prezentację na plik XML
Wczytaj 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łem może być dowolny format prezentacji obsługiwany przy wczytywaniu, taki jak PPT, PPTX lub ODP.
Poniższy przykład konwertuje prezentację PPTX na plik XML:
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/object_ext.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
presentation->Save(u"presentation.xml", SaveFormat::Xml);
presentation->Dispose();
Zapisz wyjście XML do strumienia
Użyj przeciążenia strumieniowego metody Presentation::Save , gdy XML musi pozostać w pamięci lub zostać przekazane do innego komponentu, takiego jak usługa sieciowa, dostawca pamięci lub potok przetwarzania XML. Poniższy przykład zapisuje wynik do MemoryStream i przewija go w celu późniejszego odczytu:
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/io/memory_stream.h>
#include <system/object_ext.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System::IO;
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto xmlStream = System::MakeObject<MemoryStream>();
presentation->Save(xmlStream, SaveFormat::Xml);
xmlStream->set_Position(0);
presentation->Dispose();
// Przekaż xmlStream do następnego komponentu w przepływie pracy.
Porównaj XML z formatami prezentacji i eksportu
Wybierz format wyjścia w zależności od tego, jak wynik będzie używany:
| Format | Wyjście | Typowe zastosowanie |
|---|---|---|
PowerPoint XML (.xml) |
Prezentacja PowerPoint XML | Inspekcja struktury, rozwiązywanie problemów, porównywanie wygenerowanego wyjścia oraz integracja oparta na XML |
PPT (.ppt) |
Plik prezentacji binarnej starszej generacji | Zgodność ze starszymi przepływami pracy PowerPoint |
PPTX (.pptx) |
Pakiet Office Open XML zawierający wiele części | Standardowa edycja PowerPoint i wymiana prezentacji |
| PDF or TIFF | Strony o stałym układzie lub obraz wielostronicowy | Wyświetlanie, drukowanie i archiwizacja |
| PNG, JPEG, or SVG | Wizualna reprezentacja pojedynczego slajdu | Miniatury, podglądy i zasoby graficzne |
| HTML or HTML5 | Wyjście prezentacji skierowane do sieci | Wyświetlanie w przeglądarce i publikacja internetowa |
W przeciwieństwie do PPT i PPTX, wyjście XML jest przeznaczone głównie do inspekcji i przepływów 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. Tabela obsługiwanych formatów plików wymienia PowerPoint XML Presentation jako format wyłącznie do zapisu, więc nie używaj go, gdy przepływ wymaga wczytania wyeksportowanego pliku z powrotem 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, podczas gdy 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 MemoryStream do przetwarzania w pamięci.
Czy Aspose.Slides może ponownie wczytać wyeksportowany plik XML?
Nie. PowerPoint XML Presentation jest obecnie obsługiwany jedynie przy zapisywaniu, nie przy wczytywaniu. 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 opartego na stronach lub PNG, JPEG i SVG do obrazów pojedynczych slajdów.