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

Введение

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

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

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

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

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

// Создайте экземпляр класса Presentation, представляющего файл презентации (PPT, PPTX, ODP и др.).
$presentation = new Presentation("presentation.pptx");
try {
    // Сохраните презентацию в формате TIFF.
    $presentation->save("output.tiff", SaveFormat::Tiff);
} finally {
    $presentation->dispose();
}

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

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

Допустим, у нас есть файл “sample.pptx” со следующим слайдом:

A presentation slide

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

$tiffOptions = new TiffOptions();
$tiffOptions->setCompressionType(TiffCompressionTypes::CCITT4);
$tiffOptions->setBwConversionMode(BlackWhiteConversionMode::Dithering);

$presentation = new Presentation("sample.pptx");
try {
    $presentation->save("output.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

Результат:

Black-and-White TIFF

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

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

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

// Создайте экземпляр класса Presentation, представляющего файл презентации (PPT, PPTX, ODP и др.).
$presentation = new Presentation("presentation.pptx");
try {
    $tiffOptions = new TiffOptions();

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

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

    // Установите разрешение изображения (DPI).
    $tiffOptions->setDpiX(200);
    $tiffOptions->setDpiY(200);

    // Установите размер изображения.
    $tiffOptions->setImageSize(new Java("java.awt.Dimension", 1728, 1078));

    $notesOptions = new NotesCommentsLayoutingOptions();
    $notesOptions->setNotesPosition(NotesPositions::BottomFull);
    $tiffOptions->setSlidesLayoutOptions($notesOptions);

    // Сохраните презентацию в формате TIFF с указанным размером.
    $presentation->save("tiff-ImageSize.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

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

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

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

// Создайте экземпляр класса Presentation, представляющего файл презентации (PPT, PPTX, ODP и др.).
$presentation = new Presentation("presentation.pptx");
try {
    $tiffOptions = new TiffOptions();

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

    // Сохраните презентацию в формате TIFF с указанным размером изображения.
    $presentation->save("Tiff-PixelFormat.tiff", SaveFormat::Tiff, $tiffOptions);
} finally {
    $presentation->dispose();
}

FAQ

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

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

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

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

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

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