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

Microsoft PowerPoint (PPT)

Об PPT

PPT — это формат файла презентационного документа, который может быть создан, прочитан, изменен и записан различными версиями Microsoft PowerPoint. Это двоичный формат для презентационных документов, разработанный Microsoft.

PPT в Aspose.Slides для C++

Aspose.Slides для C++ может читать файлы PPT, созданные программным обеспечением, перечисленным ниже.

  • Microsoft PowerPoint 97
  • Microsoft PowerPoint 2000
  • Microsoft PowerPoint XP
  • Microsoft PowerPoint 2003

Аналогично, файлы PPT, созданные Aspose.Slides для C++, могут быть прочитаны вышеупомянутым набором программного обеспечения.

Полная поддержка PPT

Aspose.Slides для C++ предоставляет поддержку почти всех функций, связанных с форматом файла документа PPT. Он охватывает не только базовые / расширенные функции, предоставленные различными версиями Microsoft PowerPoint для манипуляций с документами PPT, но также и некоторые функции, которые даже не поддерживаются Microsoft PowerPoint. Основное преимущество использования библиотеки API Aspose.Slides для C++ заключается в простоте работы с такими функциями.

В дополнение к основным задачам, связанным с созданием, чтением и записью файлов документов PPT, Aspose.Slides для C++ предоставляет несколько функций, таких как:

  • Импорт других форматов файлов MS Office как OLE-объекты в документах PPT.
  • Экспорт документов PPT в форматы PDF, TIFF, XPS.
  • Экспорт слайдов из документов PPT в форматы SVG.
  • Отрисовка слайда в любой формат изображения, поддерживаемый C++ Framework.
  • Установка размера слайдов в документе PPT.
  • Управление анимациями на фигурах.
  • Управление слайд-шоу.
  • Форматирование текста на слайдах.
  • Сканирование текста из документов PPT.
  • Управление таблицами на слайдах.
  • Автоматическое копирование мастеров с использованием функции клонирования.

Файл PPT, сгенерированный Aspose.Slides для 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 для C++

Документы OOXML PresentationML представляют собой файлы PPTX, которые являются упакованными XML-пакетами, соответствующими спецификациям OOXML ECMA-376. Aspose.Slides для C++ обширно поддерживает создание, чтение, манипуляцию и запись документов PresentationML. Кроме того, Aspose.Slides для C++ способен экспортировать документы PresentationML в различные широко используемые форматы документов, такие как PDF, TIFF и XPS. Это возможно, поскольку Aspose.Slides для C++ был разработан с целью всесторонней обработки презентационных документов, а PresentationML в основном содержит внутреннюю презентацию документов как упакованный XML-пакет.

Документ PPTX, сгенерированный Aspose.Slides для C++ и открытый в Microsoft PowerPoint

Просмотр документа PPTX, сгенерированного Aspose.Slides для C++, в приложении Zip

PresentationML открыт, почему использовать Aspose.Slides для C++

Поскольку PresentationML основан на XML, вполне возможно создать приложения для обработки и генерации документов PresentationML, используя классы XML, не полагаясь на сторонние библиотеки классов, такие как Aspose.Slides для C++. Однако есть несколько преимуществ использования Aspose.Slides для C++ вместо классов XML при работе с документами PresentationML.

Спецификация OOXML содержит несколько тысяч страниц. Это означает, что для правильной обработки документов PresentationML вам придется потратить много времени и усилий на понимание формата таких документов. С другой стороны, при использовании Aspose.Slides для 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 для C++ предоставляет частичную поддержку преобразования презентаций формата файла PPT в презентации формата файла PPTX. Поскольку поддержка указанной функции преобразования презентации была только что введена в Aspose.Slides для C++, в данный момент она имеет ограниченные возможности и работает только с простой формой презентаций. Основное преимущество, которое библиотека API Aspose.Slides для C++ предоставляет для преобразования презентации PPT в формат PPTX, заключается в простоте использования API для достижения желаемой цели. Пожалуйста, перейдите по этой ссылке в раздел кода для получения дополнительной информации. Следующий раздел четко иллюстрирует, какие из функций поддерживаются и не поддерживаются при преобразовании презентаций формата PPT в формат PPTX.

Поддерживаемые функции

Следующие функции поддерживаются во время преобразования:

  • Преобразование структуры мастеров, макетов и слайдов
  • Преобразование структуры мастеров, макетов и слайдов
  • Преобразование диаграмм
  • Группировка фигур
  • Преобразование автофигур, включая прямоугольники и эллипсы. Однако возможно, что автофигуры могут иметь неправильные значения корректировки
  • Фигуры с пользовательской геометрией. Иногда могут не быть преобразованы
  • Заполнение текстурой и картинками для автофигур. Иногда могут не быть преобразованы
  • Преобразование заполнителей
  • Преобразование текста в текстовых фреймах и текстовых полях. Однако списки, выравнивание и табуляция не полностью реализованы

Не поддерживаемые функции

Следующие функции не поддерживаются во время преобразования:

  • Слайд с заметками, так как чтение заметок не реализовано в PPTX. Если в PPT есть заметки, то его нельзя сохранить как PPTX
  • Преобразование линий и полилиний
  • Форматы линий и заливки
  • Стиль градиентной заливки
  • OLE-рамки, таблицы, видео и аудио и т. д.
  • Анимация и другие свойства слайд-шоу пропускаются Новые или отсутствующие функции будут добавлены впоследствии в следующих версиях Aspose.Slides для C++.

Исходная презентация PPT

Преобразованная презентация PPTX

Формат переносимого документа (PDF)

О PDF

Формат переносимого документа — это формат файла, созданный компании Adobe для обмена документами между различными организациями. Целью этого формата было сделать возможным представление содержимого документов таким образом, чтобы их визуальное отображение не зависело от платформы, на которой они просматриваются.

PDF в Aspose.Slides для C++

Любой документ презентации, который можно загрузить в Aspose.Slides для C++, может быть преобразован в PDF-документ, который может соответствовать PDF 1.5 или PDF /A-1b в зависимости от вашего выбора. Aspose.Slides для C++ экспортирует документы презентации в PDF таким образом, что чаще всего экспортируемый PDF-документ выглядит почти аналогично оригинальному документу презентации. Решение Aspose поддерживает следующие функции документов презентации при преобразовании в PDF-документы:

  • Изображения, текстовые поля и другие фигуры
  • Текст и форматирование
  • Абзацы и форматирование
  • Гиперссылки
  • Колонтитулы
  • Нумерация
  • Таблицы

Вы можете экспортировать документы презентации в PDF-документы напрямую, используя только компонент Aspose.Slides для C++. То есть вам не нужны никакие другие сторонние компоненты или компонент Aspose.Pdf для этой цели. Кроме того, вы можете настроить экспорт презентации в PDF с различными параметрами, как объясняется в этой теме.

Документ презентации, преобразованный в PDF-документ с помощью Aspose.Slides для C++

Спецификация парсера XML (XPS)

О XPS

Спецификация парсера XML — это язык описания страниц и фиксированный документальный формат, первоначально разработанный Microsoft. Как и PDF, XPS — это формат документа с фиксированным макетом, разработанный для сохранения целостности документа и предоставления независимого от устройства отображения документа.

XPS в Aspose.Slides для C++

Любой документ презентации, который может быть загружен Aspose.Slides для C++, может быть преобразован в формат XPS. Aspose.Slides для C++ использует высококачественный движок макета и отрисовки страниц для создания вывода в фиксированном макете документа XPS. Стоит отметить, что Aspose.Slides для C++ напрямую генерирует XPS, не полагаясь на классы Windows Presentation Foundation (WPF), которые упакованы с C++ Framework 3.5, что позволяет Aspose.Slides для C++ производить документы XPS на машинах, работающих на версиях C++ Framework, предшествующих версии 3.5. Вы можете узнать о преобразовании документов презентации в документы XPS с помощью Aspose.Slides для C++ в этой теме.

Документ презентации, преобразованный в документ XPS с помощью Aspose.Slides для C++