在 JavaScript 中将 PPT 和 PPTX 转换为 JPG
Contents
[
Hide
]
关于 PowerPoint 转 JPG 转换
使用Aspose.Slides API可以将 PowerPoint PPT 或 PPTX 演示文稿转换为 JPG 图像。还可以将 PPT/PPTX 转换为 JPEG、PNG 或 SVG。借助这些功能,您可以轻松实现自己的演示文稿查看器,为每张幻灯片创建缩略图。如果您想保护幻灯片版权、以只读模式展示演示文稿,这将非常有用。Aspose.Slides 支持将整个演示文稿或特定幻灯片转换为图像格式。
为了查看 Aspose.Slides 如何将 PowerPoint 转换为 JPG 图像,您可以尝试这些免费在线转换器:PowerPoint PPTX to JPG和PPT to JPG。

将 PowerPoint PPT/PPTX 转换为 JPG
以下是将 PPT/PPTX 转换为 JPG 的步骤:
- 创建一个 Presentation 类型的实例。
- 从 Presentation.getSlides() 集合中获取 Slide 类型的幻灯片对象。
- 为每张幻灯片创建缩略图并将其转换为 JPG。Slide.getImage(float scaleX, float scaleY) 方法用于获取幻灯片的缩略图,它返回 Imagess 对象。getImage 方法必须在所需的 Slide 类型实例上调用,生成的缩略图比例作为参数传入该方法。
- 获取幻灯片缩略图后,调用缩略图对象的 IImage.save(String formatName, int imageFormat) 方法。将生成的文件名和图像格式作为参数传入。
注意:PPT/PPTX 转 JPG 的转换方式与 Aspose.Slides API 中其他类型的转换不同。对于其他类型,通常使用 Presentation.Save(String fname, int format, ISaveOptions options) 方法,而这里需要使用 IImage.save(String formatName, int imageFormat) 方法。
var pres = new aspose.slides.Presentation("PowerPoint-Presentation.pptx");
try {
for (let i = 0; i < pres.getSlides().size(); i++) {
let sld = pres.getSlides().get_Item(i);
// 创建全尺寸图像
var slideImage = sld.getImage(1.0, 1.0);
// 将图像以 JPEG 格式保存到磁盘
try {
slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.jpg", sld.getSlideNumber()), aspose.slides.ImageFormat.Jpeg);
} finally {
if (slideImage != null) {
slideImage.dispose();
}
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
使用自定义尺寸将 PowerPoint PPT/PPTX 转换为 JPG
要更改生成的缩略图和 JPG 图像的尺寸,可以通过将 ScaleX 和 ScaleY 值传递给 Slide.getImage(float scaleX, float scaleY) 方法来实现:
var pres = new aspose.slides.Presentation("PowerPoint-Presentation.pptx");
try {
// 定义尺寸
var desiredX = 1200;
var desiredY = 800;
// 获取 X 和 Y 的缩放值
var ScaleX = 1.0 / pres.getSlideSize().getSize().getWidth() * desiredX;
var ScaleY = 1.0 / pres.getSlideSize().getSize().getHeight() * desiredY;
for (let i = 0; i < pres.getSlides().size(); i++) {
let sld = pres.getSlides().get_Item(i);
// 创建全尺寸图像
var slideImage = sld.getImage(ScaleX, ScaleY);
// 将图像以 JPEG 格式保存到磁盘
try {
slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.jpg", sld.getSlideNumber()), aspose.slides.ImageFormat.Jpeg);
} finally {
if (slideImage != null) {
slideImage.dispose();
}
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
在将演示文稿保存为图像时渲染批注
Aspose.Slides for Node.js via Java 提供了在将幻灯片转换为图像时渲染批注的功能。下面的 JavaScript 代码演示了该操作:
var pres = new aspose.slides.Presentation("presentation.pptx");
try {
var notesOptions = new aspose.slides.NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(aspose.slides.NotesPositions.BottomTruncated);
var opts = new aspose.slides.RenderingOptions();
opts.setSlidesLayoutOptions(notesOptions);
for (let i = 0; i < pres.getSlides().size(); i++) {
let sld = pres.getSlides().get_Item(i);
var slideImage = sld.getImage(opts, java.newInstanceSync("java.awt.Dimension", 740, 960));
try {
slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.png", sld.getSlideNumber()));
} finally {
if (slideImage != null) {
slideImage.dispose();
}
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
另见
查看将 PPT/PPTX 转换为图像的其他选项,例如:
常见问题
此方法是否支持批量转换?
是的,Aspose.Slides 允许在一次操作中将多个幻灯片批量转换为 JPG。
转换是否支持 SmartArt、图表和其他复杂对象?
是的,Aspose.Slides 能渲染所有内容,包括 SmartArt、图表、表格、形状等。不过,与 PowerPoint 相比,渲染精度可能会有细微差异,尤其是使用自定义或缺失的字体时。
处理的幻灯片数量是否有限制?
Aspose.Slides 本身对可处理的幻灯片数量没有严格限制。但在处理大型演示文稿或高分辨率图像时,可能会遇到内存不足的错误。