在 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.CCITT4 或 TiffCompressionTypes.CCITT3 时生效。
Note
TiffOptions.setBwConversionMode 是一个导出级别的设置,用于为整个 TIFF 图像选择像素转换算法。要定义在黑白显示模式下单个形状的显示方式,请使用 Shape.setBlackWhiteMode。有关示例,请参阅 Control Black-and-White Rendering for Shapes。假设我们有一个名为 “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 图像,可以使用 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()
Tip
查看 Aspose 的 FREE PowerPoint to Poster converter。常见问题
我可以将单个幻灯片而不是整个 PowerPoint 演示文稿转换为 TIFF 吗?
可以。Aspose.Slides 允许您将 PowerPoint 和 OpenDocument 演示文稿中的单个幻灯片分别转换为 TIFF 图像。
在将演示文稿转换为 TIFF 时,幻灯片数量是否有限制?
TIFF 导出没有固定的幻灯片数量限制。可用内存、幻灯片复杂度和输出尺寸会影响您能够处理的演示文稿大小。
在将幻灯片转换为 TIFF 时,PowerPoint 动画和过渡效果会被保留吗?
不会,TIFF 是一种静态图像格式。因此,动画和过渡效果不会被保留,只会导出幻灯片的静态快照。