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

概述

TIFF (Tagged Image File Format) 是一种广泛使用的无损光栅图像格式,以其卓越的质量和对图形细节的保留而著称。设计师、摄影师和桌面出版商通常选择 TIFF 来保持图层、颜色准确性和原始设置。

使用 Aspose.Slides,您可以轻松地将 PowerPoint 幻灯片(PPT、PPTX)和 OpenDocument 幻灯片(ODP)直接转换为高质量的 TIFF 图像,确保演示文稿保持最高的视觉保真度。

将演示文稿转换为 TIFF

使用 save 方法由 Presentation 类提供,您可以快速将整个 PowerPoint 演示文稿转换为 TIFF。生成的 TIFF 图像对应默认幻灯片大小。

此代码演示了如何将 PowerPoint 演示文稿转换为 TIFF:

// 实例化表示演示文稿文件 (PPT、PPTX、ODP 等) 的 Presentation 类。
Presentation presentation = new Presentation("presentation.pptx");
try {
    // 将演示文稿保存为 TIFF。
    presentation.save("output.tiff", SaveFormat.Tiff);
} finally {
    presentation.dispose();
}

将演示文稿转换为黑白 TIFF

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

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

演示文稿幻灯片

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

TiffOptions tiffOptions = new TiffOptions();
tiffOptions.setCompressionType(TiffCompressionTypes.CCITT4);
tiffOptions.setBwConversionMode(BlackWhiteConversionMode.Dithering);

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

结果:

黑白 TIFF

将演示文稿转换为自定义尺寸的 TIFF

如果您需要特定尺寸的 TIFF 图像,可以使用 TiffOptions 中提供的方法设置所需的值。例如,setImageSize 方法允许您定义生成图像的大小。

此代码演示了如何将 PowerPoint 演示文稿转换为具有自定义尺寸的 TIFF 图像:

// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。
Presentation presentation = new Presentation("presentation.pptx");
try {
    TiffOptions tiffOptions = new TiffOptions();

    // 设置压缩类型。
    tiffOptions.setCompressionType(TiffCompressionTypes.Default);
    /*
    压缩类型:
        Default - 指定默认的压缩方案 (LZW)。
        None - 指定无压缩。
        CCITT3
        CCITT4
        LZW
        RLE
    */

    // 深度取决于压缩类型,不能手动设置。

    // 设置图像 DPI。
    tiffOptions.setDpiX(200);
    tiffOptions.setDpiY(200);

    // 设置图像尺寸。
    tiffOptions.setImageSize(new Dimension(1728, 1078));

    INotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(NotesPositions.BottomFull);
    tiffOptions.setSlidesLayoutOptions(notesOptions);

    // 使用指定尺寸将演示文稿保存为 TIFF。
    presentation.save("tiff-ImageSize.tiff", SaveFormat.Tiff, tiffOptions);
} finally {
    presentation.dispose();
}

将演示文稿转换为自定义像素格式的 TIFF

通过 TiffOptions 类中的 setPixelFormat 方法,您可以为生成的 TIFF 图像指定首选的像素格式。

此代码演示了如何将 PowerPoint 演示文稿转换为具有自定义像素格式的 TIFF 图像:

// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。
Presentation presentation = new Presentation("presentation.pptx");
try {
    TiffOptions 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();
}

常见问题

1. 我可以仅转换单个幻灯片而不是整个 PowerPoint 演示文稿为 TIFF 吗?

可以。Aspose.Slides 允许您将 PowerPoint 和 OpenDocument 演示文稿中的单个幻灯片单独转换为 TIFF 图像。

2. 将演示文稿转换为 TIFF 时对幻灯片数量有限制吗?

没有,Aspose.Slides 不对幻灯片数量设置任何限制。您可以将任意大小的演示文稿转换为 TIFF 格式。

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

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