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

Введение

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

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

Конвертировать презентацию в TIFF

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

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

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("presentation.pptx")
try:
    # Сохранить все слайды в многостраничный файл TIFF.
    presentation.save("output.tiff", SaveFormat.Tiff)
finally:
    presentation.dispose()

Конвертировать презентацию в черно-белый TIFF

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

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

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

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

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BlackWhiteConversionMode, Presentation, SaveFormat, TiffCompressionTypes, TiffOptions

tiff_options = TiffOptions()
tiff_options.setCompressionType(TiffCompressionTypes.CCITT4)
tiff_options.setBwConversionMode(BlackWhiteConversionMode.Dithering)

presentation = Presentation("sample.pptx")
try:
    presentation.save("output.tiff", SaveFormat.Tiff, tiff_options)
finally:
    presentation.dispose()

Результат:

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

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

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

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

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import NotesCommentsLayoutingOptions, NotesPositions, Presentation, SaveFormat, TiffCompressionTypes, TiffOptions
from java.awt import Dimension

presentation = Presentation("presentation.pptx")
try:
    tiff_options = TiffOptions()
    tiff_options.setCompressionType(TiffCompressionTypes.Default)

    # Установить горизонтальное и вертикальное разрешение.
    tiff_options.setDpiX(200)
    tiff_options.setDpiY(200)

    # Установить размеры вывода в пикселях.
    image_size = Dimension(1728, 1078)
    tiff_options.setImageSize(image_size)

    # Включить полные заметки выступающего под каждым слайдом.
    notes_options = NotesCommentsLayoutingOptions()
    notes_options.setNotesPosition(NotesPositions.BottomFull)
    tiff_options.setSlidesLayoutOptions(notes_options)

    presentation.save("tiff-ImageSize.tiff", SaveFormat.Tiff, tiff_options)
finally:
    presentation.dispose()

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

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

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

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ImagePixelFormat, Presentation, SaveFormat, TiffOptions

presentation = Presentation("presentation.pptx")
try:
    tiff_options = TiffOptions()
    tiff_options.setPixelFormat(ImagePixelFormat.Format8bppIndexed)

    presentation.save("Tiff-PixelFormat.tiff", SaveFormat.Tiff, tiff_options)
finally:
    presentation.dispose()

Часто задаваемые вопросы

Могу ли я конвертировать отдельный слайд вместо всей презентации PowerPoint в TIFF?

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

Есть ли ограничение на количество слайдов при конвертации презентации в TIFF?

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

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

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