在 Python 中将 PowerPoint 演示文稿转换为 TIFF

介绍

TIFF(Tagged Image File Format)是一种栅格图像格式,支持多页和无损压缩。它对于在单个图像文件中存储渲染后的幻灯片非常有用。

使用 Aspose.Slides for Python via Java,您可以将 PowerPoint (PPT, PPTX) 和 OpenDocument (ODP) 演示文稿转换为 TIFF。下面的每个示例在需要时启动 Java 虚拟机,并在使用后释放演示文稿。

将演示文稿转换为 TIFF

使用由 Presentation 类提供的 save 方法,您可以快速将整个 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

TiffOptions 类中,方法 setBwConversionMode 允许您指定在将彩色幻灯片或图像转换为黑白 TIFF 时使用的算法。请注意,此设置仅在 setCompressionType 方法设置为 TiffCompressionTypes.CCITT4TiffCompressionTypes.CCITT3 时生效。

假设我们有一个名为 “sample.pptx” 的文件,其中包含以下幻灯片:

演示文稿幻灯片

以下代码演示如何将彩色幻灯片转换为黑白 TIFF:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jptype.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 允许您定义生成图像的大小。

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

使用 TiffOptions 类中的 setPixelFormat 方法,您可以为生成的 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 导出没有固定的幻灯片数量限制。可用内存、幻灯片复杂度和输出尺寸会影响您能够处理的演示文稿大小。

在将幻灯片转换为 TIFF 时,PowerPoint 动画和过渡效果会被保留吗?

不会,TIFF 是一种静态图像格式。因此,动画和过渡效果不会被保留,只会导出幻灯片的静态快照。