Конвертировать презентации 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» со следующим слайдом:

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

Этот пример кода демонстрирует, как преобразовать цветной слайд в чёрно‑белый 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();
}

Результат:

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

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

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

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

// Instantiate the Presentation class that represents a presentation file (PPT, PPTX, ODP, etc.).
$presentation = new Presentation("presentation.pptx");
try {
    $tiffOptions = new TiffOptions();

    // Set the compression type.
    $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 — статический формат изображения. Поэтому анимации и переходы не сохраняются; экспортируются только статические снимки слайдов.