Различные форматы файлов и преобразования

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++