缩略图 是较大图像的小尺寸版本,可以更轻松地查看或滚动图像列表。 MS PowerPoint 还使用演示文稿的缩略图来浏览内容并导航到特定幻灯片。在本文中,您将学习如何使用 Java 生成 PowerPoint PPTX 或 PPT 的缩略图。您可以在创建 Web 或基于桌面的 PowerPoint 查看器等场景中使用此功能。
用于为 PowerPoint PPTX/PPT 生成缩略图的 Java API
要为 PPTX 或 PPT 演示文稿生成缩略图,我们将使用 Aspose.Slides for Java。它是一个功能丰富的 API,用于创建、操作和转换 PowerPoint 和 OpenOffice 演示文稿。您可以 下载 API 或使用以下 Maven 配置安装它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.8</version>
<classifier>jdk16</classifier>
</dependency>
使用 Java 为 PPTX 或 PPT 生成缩略图
以下是使用 Java 生成 PPTX 演示文稿缩略图的步骤。
- 首先,创建一个 Presentation 类的实例来加载演示文稿。
- 遍历 Presentation.getSlides() 集合中的每个 ISlide。
- 使用 ISlide.getThumbnail(1f, 1f) 方法生成每张幻灯片的图像,并将图像的引用获取到 BufferedImage 对象中。
- 为输出图像创建一个新的 File。
- 最后,使用 ImageIO.write(BufferedImage, String, File) 方法保存图像。
以下代码示例展示了如何使用 Java 生成 PPTX 演示文稿的缩略图。
// 加载 PowerPoint 演示文稿
Presentation presentation = new Presentation("presentation.pptx");
// 遍历演示文稿中的幻灯片
for (ISlide sld : presentation.getSlides()) {
// 创建幻灯片的全尺寸图像
BufferedImage bi = sld.getThumbnail(1f, 1f);
// 创建一个新文件来保存图像
File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");
// 保存图片
ImageIO.write(bi, "png", outputfile);
}
生成具有用户定义尺寸的缩略图
您还可以使用幻灯片的高度和宽度为缩略图指定自己的尺寸。以下是执行此操作的步骤。
- 首先,创建一个 Presentation 类的实例来加载演示文稿。
- 定义生成的 PNG 图像的尺寸。
- 循环遍历 Presentation.getSlides() 集合中的每个 ISlide。
- 使用 ISlide.getThumbnail(float ScaleX, float ScaleY) 方法生成每张幻灯片的图像,并将图像的引用获取到 BufferedImage 对象中。
- 为输出图像创建一个新的 File。
- 最后,使用 ImageIO.write(BufferedImage, String, File) 方法保存图像。
以下代码示例显示了如何生成具有自定义尺寸的 PPTX 缩略图。
// 加载 PowerPoint 演示文稿
Presentation presentation = new Presentation("presentation.pptx");
// 用户定义维度
int desiredX = 1200;
int desiredY = 800;
// 获取 X 和 Y 的缩放值
float ScaleX = (float) (1.0 / presentation.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float) (1.0 / presentation.getSlideSize().getSize().getHeight()) * desiredY;
// 遍历演示文稿中的幻灯片
for (ISlide sld : presentation.getSlides()) {
// 创建幻灯片的全尺寸图像
BufferedImage bi = sld.getThumbnail(ScaleX, ScaleY);
// 创建一个新文件来保存图像
File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");
// 保存图片
ImageIO.write(bi, "png", outputfile);
}
获取免费 API 许可证
您可以通过请求 临时许可 来使用 Aspose.Slides for Java,而不受评估限制。
结论
在本文中,您学习了如何使用 Java 生成 PowerPoint PPTX 或 PPT 的缩略图。此外,您还了解了如何生成具有用户定义尺寸的缩略图。此外,您可以访问 文档 来探索 API 的其他功能。此外,您可以随时通过我们的 论坛 告诉我们您的疑问。