Конвертация презентаций PowerPoint в XML на Java
Обзор
Aspose.Slides for Java может конвертировать презентации PowerPoint в формат PowerPoint XML Presentation. XML‑вывод полезен, когда вам нужен текстовый представление для инспекции структуры презентации, отладки сгенерированных документов, сравнения вывода в автоматических тестах или интеграции с рабочим процессом, который потребляет XML вместо пакета презентаций.
Используйте метод Presentation.save с параметром Xml из класса SaveFormat. Вы можете записать результат напрямую в файл или в поток.
Note
SaveFormat.Xml создаёт PowerPoint XML Presentation. Он не извлекает отдельные части Office Open XML, хранящиеся внутри пакета PPTX. Если вам нужны точные части пакета PPTX, такие как ppt/presentation.xml или отдельные XML‑файлы слайдов, изучите сам пакет PPTX.
Преобразовать презентацию в XML‑файл
Загрузите исходную презентацию с помощью класса Presentation , а затем передайте путь вывода и SaveFormat.Xml методу Presentation.save. Источник может быть в любом поддерживаемом формате загрузки, таком как PPT, PPTX или ODP.
В следующем примере PPTX‑презентация конвертируется в XML‑файл:
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("presentation.pptx");
try {
presentation.save("presentation.xml", SaveFormat.Xml);
} finally {
presentation.dispose();
}
Записать XML‑вывод в поток
Используйте перегрузку метода Presentation.save, принимающую поток, когда XML должен оставаться в памяти или передаваться другому компоненту, например веб‑сервису, поставщику хранилища или XML‑конвейеру обработки. В следующем примере результат записывается в ByteArrayOutputStream и полученный XML возвращается в виде массива байтов:
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import java.io.ByteArrayOutputStream;
Presentation presentation = new Presentation("presentation.pptx");
try (ByteArrayOutputStream xmlStream = new ByteArrayOutputStream()) {
presentation.save(xmlStream, SaveFormat.Xml);
byte[] xmlData = xmlStream.toByteArray();
// Передайте xmlData следующему компоненту в рабочем процессе.
} finally {
presentation.dispose();
}
Сравнение XML с форматами презентаций и экспорта
Выберите формат вывода в зависимости от того, как будет использоваться результат:
| Формат | Вывод | Типичное применение |
|---|---|---|
PowerPoint XML (.xml) |
Презентация PowerPoint XML | Инспекция структуры, отладка, сравнение сгенерированного вывода и интеграция на основе XML |
PPT (.ppt) |
Файл презентации в старом двоичном формате | Совместимость со старыми рабочими процессами PowerPoint |
PPTX (.pptx) |
Пакет Office Open XML, содержащий несколько частей | Обычное редактирование PowerPoint и обмен презентациями |
| PDF или TIFF | Страницы фиксированного макета или многостраничное изображение | Просмотр, печать и архивация |
| PNG, JPEG или SVG | Отображаемое представление отдельного слайда | Эскизы, превью и графические ресурсы |
| HTML или HTML5 | Web‑ориентированный вывод презентации | Просмотр в браузере и публикация в вебе |
В отличие от PPT и PPTX, XML‑вывод в первую очередь предназначен для инспекции и работы с данными. В отличие от PDF, TIFF, HTML и форматов изображений слайдов, он представляет данные презентации, а не рендерит слайды в виде страниц или визуальных ресурсов. В таблице supported file formats указано, что PowerPoint XML Presentation поддерживается только для сохранения, поэтому не используйте его, если рабочий процесс требует загрузки экспортированного файла обратно в Aspose.Slides для дальнейшего редактирования.
FAQ
SaveFormat.Xml то же самое, что сохранение файла PPTX?
Нет. PPTX — это пакет, содержащий несколько частей Office Open XML, тогда как SaveFormat.Xml создает файл PowerPoint XML Presentation.
Можно ли сохранить XML‑вывод без создания файла на диске?
Да. Передайте поток для записи в метод Presentation.save. Например, используйте ByteArrayOutputStream для обработки в памяти.
Может ли Aspose.Slides загрузить экспортированный XML‑файл снова?
Нет. PowerPoint XML Presentation в текущей версии поддерживается только для сохранения, а не для загрузки. Используйте PPTX или другой поддерживаемый формат презентации, когда требуется круговая обработка (загрузка‑сохранение) редактирования.
Преобразует ли XML каждый слайд в страницу или изображение?
Нет. Конвертация в XML записывает структурированные данные презентации. Для вывода, ориентированного на страницы, используйте PDF или TIFF, а для отдельных изображений слайдов — PNG, JPEG и SVG.