Различные форматы файлов и преобразования
Microsoft PowerPoint (PPT)
О PPT
PPT — это формат файлов презентаций, который может быть создан, прочитан, изменён и записан различными версиями Microsoft PowerPoint. Это бинарный формат для презентационных документов, разработанный Microsoft.
PPT в Aspose.Slides for C++
Aspose.Slides for C++ может читать PPT‑файлы, созданные следующими программами.
- Microsoft PowerPoint 97
- Microsoft PowerPoint 2000
- Microsoft PowerPoint XP
- Microsoft PowerPoint 2003
Аналогично, PPT‑файлы, созданные Aspose.Slides for C++, могут быть прочитаны вышеуказанным набором программ.
Всесторонняя поддержка PPT
Aspose.Slides for C++ предоставляет поддержку практически всех функций, связанных с форматом файлов PPT. Он охватывает как базовые, так и расширенные возможности разных версий Microsoft PowerPoint для работы с документами PPT, а также некоторые функции, которые даже не поддерживаются Microsoft PowerPoint. Главное преимущество использования библиотеки API Aspose.Slides for C++ — простота работы с такими функциями.
В дополнение к базовым задачам по созданию, чтению и записи файлов PPT, Aspose.Slides for C++ предоставляет такие возможности:
- Импорт других форматов файлов MS Office в виде OLE‑объектов в документы PPT.
- Экспорт документов PPT в форматы PDF, TIFF, XPS.
- Экспорт слайдов из документов PPT в форматы SVG.
- Рендеринг слайда в любой формат изображения, поддерживаемый C++ Framework.
- Установка размера слайдов в документе PPT.
- Управление анимациями фигур.
- Управление демонстрациями слайдов.
- Форматирование текста на слайдах.
- Считывание текста из документов PPT.
- Обработка таблиц на слайдах.
- Автоматическое копирование мастер‑страниц с помощью функции клонирования.
Файл PPT, сгенерированный Aspose.Slides for C++ и открытый в Microsoft PowerPoint
PresentationML (PPTX, XML)
О PresentationML
PresentationML — это название семейства XML‑основанных форматов для презентационных документов. Office OpenXML (OOXML) — XML‑формат, представленный в приложениях Microsoft Office 2007. Office OpenXML является контейнером для нескольких специализированных XML‑языков разметки. PresentationML — язык разметки, используемый Microsoft Office PowerPoint 2007 для хранения своих документов.
PresentationML в Aspose.Slides for C++
Документы OOXML PresentationML представлены в виде файлов PPTX, которые являются zip‑архивами XML‑пакетов в соответствии со спецификациями OOXML ECMA‑376. Aspose.Slides for C++ широко поддерживает создание, чтение, изменение и запись документов PresentationML. Кроме того, Aspose.Slides for C++ способен экспортировать документы PresentationML в различные часто используемые форматы, такие как PDF, TIFF и XPS. Это возможно благодаря тому, что Aspose.Slides for C++ разработан для всесторонней работы с презентационными документами, а PresentationML фактически хранит внутреннюю структуру документов в виде zip‑архива XML‑пакета.
Документ PPTX, сгенерированный Aspose.Slides for C++ и открытый в Microsoft PowerPoint
Просмотр документа PPTX, сгенерированного Aspose.Slides for C++, в приложении Zip
PresentationML открыт, зачем использовать Aspose.Slides for C++
Поскольку PresentationML основан на XML, вполне возможно построить приложения для обработки и создания документов PresentationML, используя XML‑классы без привлечения сторонних библиотек, таких как Aspose.Slides for C++. Однако использование Aspose.Slides for C++ имеет несколько преимуществ перед XML‑классами при работе с документами PresentationML.
Спецификация OOXML состоит из нескольких тысяч страниц. Это означает, что для корректной работы с документами PresentationML вам придётся потратить значительное время и усилия на изучение формата таких документов. С Aspose.Slides for C++ вам достаточно воспользоваться нужными классами и их методами/свойствами для выполнения операций, которые выглядели бы довольно сложными при работе через XML‑классы.
Ниже перечислены некоторые функции, недоступные при работе с документами PresentationML через XML‑классы:
- Экспорт документов PPT в форматы PDF, TIFF, XPS
- Экспорт слайдов из документов PPT в форматы SVG
- Рендеринг слайда в любой формат изображения, поддерживаемый C++ Framework
- Автоматическое копирование мастер‑страниц из исходных презентаций с помощью функции клонирования
- Применение защиты к фигурам
Возьмём пример документа PresentationML, содержащего один слайд с текстовым полем, в котором находится текст «Hello World». Чтобы считать текст через XML‑классы, вам придётся написать программу, которая сможет разобрать этот простой текст из следующего фрагмента:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1" name=""/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="0" cy="0"/>
<a:chOff x="0" y="0"/>
<a:chExt cx="0" cy="0"/>
</a:xfrm></p:grpSpPr><p:sp>
<p:nvSpPr><p:cNvPr id="4" name="TextBox 3"/>
<p:cNvSpPr txBox="1"/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x="2819400" y="2590800"/>
<a:ext cx="1297086" cy="369332"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
<a:noFill/>
</p:spPr>
<p:txBody>
<a:bodyPr wrap="none" rtlCol="0">
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:r>
<a:rPr lang="en-US"/>
<a:t>Hello World
</a:t>
</a:r>
<a:endParaRPr lang="en-US"/>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>
Конверсия PPT в PPTX
О конверсии
Aspose.Slides теперь также поддерживает конвертацию PPT в PPTX.
Поддерживаемые функции конверсии
Aspose.Slides for C++ предоставляет частичную поддержку конвертации презентаций в формате PPT в презентации в формате PPTX. Поскольку поддержка данной функции конверсии была только недавно введена в Aspose.Slides for C++, на данный момент она имеет ограниченные возможности и работает только с простыми типами презентаций. Главное преимущество, которое предоставляет библиотека API Aspose.Slides for C++ для конвертации презентаций PPT в формат PPTX, — простота использования API для достижения желаемого результата. Пожалуйста, перейдите к thislink для раздела с примерами кода для получения дополнительных сведений. Ниже чётко указаны поддерживаемые и неподдерживаемые функции при конвертации презентаций из формата PPT в формат PPTX.
Поддерживаемые функции
Во время конверсии поддерживаются следующие функции:
- Конвертация структуры мастер‑страниц, макетов и слайдов
- Конвертация структуры мастер‑страниц, макетов и слайдов
- Конвертация диаграмм
- Групповые фигуры
- Конвертация автофигур, включая прямоугольники и эллипсы. Возможны неверные значения корректировок автофигур
- Фигуры с пользовательской геометрией. Иногда могут не конвертироваться
- Текстуры и заливка изображениями для автофигур. Иногда могут не конвертироваться
- Конвертация заполнителей
- Конвертация текста в текстовых фреймах и держателях текста. Однако маркеры, выравнивание и табуляция реализованы не полностью
Неподдерживаемые функции
Во время конверсии не поддерживаются следующие функции:
- Слайд с заметками, так как чтение заметок не реализовано в PPTX. Если в PPT они есть, сохранить как PPTX пока невозможно* Конвертация линий и полилиний
- Форматы линий и заливок
- Стиль градиентных заливок
- OLE‑фреймы, таблицы, видеó‑ и аудио‑фреймы и т.д.
- Анимация и другие свойства слайд‑шоу пропускаются Новые или отсутствующие функции будут добавлены в будущих релизах Aspose.Slides for C++.
Исходная PPT‑презентация
Конвертированная PPTX‑презентация
Portable Document Format (PDF)
О PDF
Portable Document Format — это формат файлов, созданный компанией Adobe Systems для обмена документами между различными организациями. Цель этого формата — обеспечить возможность представления содержимого документов таким образом, чтобы их визуальное отображение не зависело от платформы, на которой они просматриваются.
PDF в Aspose.Slides for C++
Любой презентационный документ, который может быть загружен в Aspose.Slides for C++, может быть преобразован в PDF‑документ, соответствующий PDF 1.5 или PDF /A‑1b в зависимости от вашего выбора. Aspose.Slides for C++ экспортирует презентационные документы в PDF таким образом, что в большинстве случаев полученный PDF выглядит почти идентично оригинальной презентации. Решение Aspose поддерживает следующие возможности презентационных документов при конвертации в PDF:
- Изображения, текстовые поля и другие фигуры
- Текст и форматирование
- Абзацы и их форматирование
- Гиперссылки
- Верхние и нижние колонтитулы
- Маркеры
- Таблицы
Вы можете экспортировать презентационные документы в PDF напрямую, используя только компонент Aspose.Slides for C++. То есть вам не требуется никакая сторонняя библиотека или компонент Aspose.Pdf для этой задачи. Кроме того, вы можете настроить экспорт презентации в PDF с различными параметрами, как описано в this topic.
Презентационный документ, конвертированный в PDF через Aspose.Slides for C++
XML Parser Specification (XPS)
О XPS
XML Parser Specification — это язык описания страниц и формат фиксированных документов, изначально разработанный компанией Microsoft. Как и PDF, XPS является форматом фиксированной разметки, предназначенным для сохранения точности отображения документа и обеспечения независимости от устройства.
XPS в Aspose.Slides for C++
Любой презентационный документ, который может быть загружен Aspose.Slides for C++, может быть преобразован в формат XPS. Aspose.Slides for C++ использует высокоточное размещение страниц и движок рендеринга для создания вывода в фиксированном формате XPS. Стоит отметить, что Aspose.Slides for C++ непосредственно генерирует XPS без зависимости от классов Windows Presentation Foundation (WPF), включенных в C++ Framework 3.5, что позволяет создавать XPS‑документы на машинах с версиями C++ Framework ниже 3.5. Подробнее об экспорте презентационных документов в XPS через Aspose.Slides for C++ можно узнать в this topic.
Презентационный документ, конвертированный в XPS через Aspose.Slides for C++