Конвертация презентаций PowerPoint в TIFF с помощью C++

Введение

TIFF (Tagged Image File Format) — широко используемый безпотерянный растровый формат изображения, известный своим исключительным качеством и детальным сохранением графики. Дизайнеры, фотографы и настольные издатели часто выбирают TIFF для сохранения слоёв, точности цвета и оригинальных настроек в своих изображениях.

С помощью Aspose.Slides вы можете без труда преобразовать свои слайды PowerPoint (PPT, PPTX) и OpenDocument (ODP) непосредственно в высококачественные изображения TIFF, обеспечивая максимальную визуальную достоверность ваших презентаций.

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

Используя метод Save класса Presentation, вы можете быстро преобразовать всю презентацию PowerPoint в TIFF. Полученные изображения TIFF соответствуют размеру слайда по умолчанию.

Этот код C++ демонстрирует, как преобразовать презентацию PowerPoint в TIFF:

#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Создать объект класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.).
auto presentation = MakeObject<Presentation>(u"Demo_File.pptx");

// Сохранить презентацию в формате TIFF.
presentation->Save(u"Output.tiff", SaveFormat::Tiff);

presentation->Dispose();

Преобразование презентации в черно‑белый TIFF

Метод set_BwConversionMode класса TiffOptions позволяет указать алгоритм, используемый при преобразовании цветного слайда или изображения в черно‑белый TIFF. Обратите внимание, что эта настройка применяется только тогда, когда метод set_CompressionType установлен в CCITT4 или CCITT3.

Предположим, у нас есть файл «sample.pptx» со следующим слайдом:

Слайд презентации

Этот код C++ демонстрирует, как преобразовать цветной слайд в черно‑белый TIFF:

#include <DOM/Presentation.h>
#include <Export/BlackWhiteConversionMode.h>
#include <Export/SaveFormat.h>
#include <Export/TiffCompressionTypes.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

auto tiffOptions = MakeObject<TiffOptions>();
tiffOptions->set_CompressionType(TiffCompressionTypes::CCITT4);
tiffOptions->set_BwConversionMode(BlackWhiteConversionMode::Dithering);

auto presentation = MakeObject<Presentation>(u"sample.pptx");
presentation->Save(u"output.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

Результат:

Черно‑белый TIFF

Преобразование презентации в TIFF с пользовательским размером

Если вам требуется изображение TIFF с определёнными размерами, вы можете задать нужные значения с помощью методов класса TiffOptions. Например, метод set_ImageSize позволяет определить размер результирующего изображения.

Этот код C++ демонстрирует, как преобразовать презентацию PowerPoint в изображения TIFF с кастомным размером:

#include <DOM/Presentation.h>
#include <Export/NotesCommentsLayoutingOptions.h>
#include <Export/NotesPositions.h>
#include <Export/SaveFormat.h>
#include <Export/TiffCompressionTypes.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Создать объект класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.).
auto presentation = MakeObject<Presentation>(u"sample.pptx");

auto tiffOptions = MakeObject<TiffOptions>();

// Установить тип сжатия.
tiffOptions->set_CompressionType(TiffCompressionTypes::Default);
/*
Типы сжатия:
    Default - Указывает схему сжатия по умолчанию (LZW).
    None - Указывает отсутствие сжатия.
    CCITT3
    CCITT4
    LZW
    RLE
*/

// Глубина зависит от типа сжатия и не может быть установлена вручную.

// Установить DPI изображения.
tiffOptions->set_DpiX(200);
tiffOptions->set_DpiY(200);

// Установить размер изображения.
tiffOptions->set_ImageSize(System::Drawing::Size(1728, 1078));

auto notesOptions = MakeObject<NotesCommentsLayoutingOptions>();
notesOptions->set_NotesPosition(NotesPositions::BottomFull);
tiffOptions->set_SlidesLayoutOptions(notesOptions);

// Сохранить презентацию в формате TIFF с указанным размером.
presentation->Save(u"custom_size.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

Преобразование презентации в TIFF с пользовательским форматом пикселей изображения

Используя метод set_PixelFormat из класса TiffOptions, вы можете задать предпочтительный формат пикселей для получаемого изображения TIFF.

Этот код C++ демонстрирует, как преобразовать презентацию PowerPoint в изображение TIFF с пользовательским форматом пикселей:

#include <DOM/Presentation.h>
#include <Export/ImagePixelFormat.h>
#include <Export/SaveFormat.h>
#include <Export/TiffOptions.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Создать объект класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.).
auto presentation = MakeObject<Presentation>(u"Demo_File.pptx");

auto tiffOptions = MakeObject<TiffOptions>();

tiffOptions->set_PixelFormat(ImagePixelFormat::Format8bppIndexed);
/*
ImagePixelFormat содержит следующие значения (как указано в документации):
    Format1bppIndexed - 1 бит на пиксель, индексированный.
    Format4bppIndexed - 4 бита на пиксель, индексированный.
    Format8bppIndexed - 8 бит на пиксель, индексированный.
    Format24bppRgb    - 24 бита на пиксель, RGB.
    Format32bppArgb   - 32 бита на пиксель, ARGB.
*/

// Сохранить презентацию в формате TIFF с указанным размером изображения.
presentation->Save(u"Custom_Image_Pixel_Format.tiff", SaveFormat::Tiff, tiffOptions);

presentation->Dispose();

FAQ

Можно ли преобразовать отдельный слайд вместо всей презентации PowerPoint в TIFF?

Да. Aspose.Slides позволяет конвертировать отдельные слайды из презентаций PowerPoint и OpenDocument в изображения TIFF по отдельности.

Существует ли ограничение на количество слайдов при преобразовании презентации в TIFF?

Нет, Aspose.Slides не накладывает ограничений на количество слайдов. Вы можете конвертировать презентации любого объёма в формат TIFF.

Сохраняются ли анимации и переходы PowerPoint при преобразовании слайдов в TIFF?

Нет, TIFF — статический формат изображения. Поэтому анимации и эффекты переходов не сохраняются; экспортируются только статические снимки слайдов.