演示文稿查看器
Contents
[
Hide
]
Aspose.Slides for Android via Java 用于创建完整演示文稿文件并包含幻灯片。可以通过 Microsoft PowerPoint 打开演示文稿查看这些幻灯片。但是有时,开发人员可能还需要在他们喜欢的图像查看器中查看幻灯片图像,或创建自己的演示文稿查看器。在这种情况下,Aspose.Slides for Android via Java 允许您将单个幻灯片导出为图像。本文描述了如何做到这一点。
实时示例
您可以尝试 Aspose.Slides 查看器 免费应用程序,以查看您可以用 Aspose.Slides API 实现的功能:
从幻灯片生成 SVG 图像
要使用 Aspose.Slides for Android via Java 从任何所需的幻灯片生成 SVG 图像,请按照以下步骤操作:
- 创建 Presentation 类的实例。
- 通过使用其 ID 或索引获取所需幻灯片的引用。
- 在内存流中获取 SVG 图像。
- 将内存流保存到文件。
// 实例化表示演示文稿文件的 Presentation 类
Presentation pres = new Presentation("CreateSlidesSVGImage.pptx");
try {
// 访问第一张幻灯片
ISlide sld = pres.getSlides().get_Item(0);
// 创建一个内存流对象
FileOutputStream svgStream = new FileOutputStream("Aspose_out.svg");
// 生成幻灯片的 SVG 图像并保存到内存流
sld.writeAsSvg(svgStream);
svgStream.close();
} catch (IOException e) {
} finally {
pres.dispose();
}
使用自定义形状 ID 生成 SVG
Aspose.Slides for Android via Java 可用于从具有自定义形状 ID 的幻灯片生成 SVG。为此,使用来自 ISvgShape 的 ID 属性,该属性表示生成的 SVG 中的形状自定义 ID。可以使用 CustomSvgShapeFormattingController 来设置形状 ID。
Presentation pres = new Presentation("pptxFileName.pptx");
try {
FileOutputStream stream = new FileOutputStream("Aspose_out.svg");
try {
SVGOptions svgOptions = new SVGOptions();
svgOptions.setShapeFormattingController(new CustomSvgShapeFormattingController());
pres.getSlides().get_Item(0).writeAsSvg(stream, svgOptions);
} finally {
if (stream != null) stream.close();
}
} catch (IOException e) {
} finally {
pres.dispose();
}
class CustomSvgShapeFormattingController implements ISvgShapeFormattingController
{
private int m_shapeIndex;
public CustomSvgShapeFormattingController()
{
m_shapeIndex = 0;
}
public CustomSvgShapeFormattingController(int shapeStartIndex)
{
m_shapeIndex = shapeStartIndex;
}
public void formatShape(ISvgShape svgShape, IShape shape)
{
svgShape.setId(String.format("shape-%d", m_shapeIndex++));
}
}
创建幻灯片缩略图图像
Aspose.Slides for Android via Java 可以帮助您生成幻灯片的缩略图图像。要使用 Aspose.Slides for Android via Java 生成任何所需幻灯片的缩略图:
- 创建 Presentation 类的实例。
- 通过使用其 ID 或索引获取任何所需幻灯片的引用。
- 根据指定的比例获取所引用幻灯片的缩略图图像。
- 以任何所需的图像格式保存缩略图图像。
// 实例化表示演示文稿文件的 Presentation 类
Presentation pres = new Presentation("ThumbnailFromSlide.pptx");
try {
// 访问第一张幻灯片
ISlide sld = pres.getSlides().get_Item(0);
// 创建全尺度图像
IImage slideImage = sld.getImage(1f, 1f);
// 以 JPEG 格式将图像保存到磁盘
try {
slideImage.save("Thumbnail_out.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
} finally {
pres.dispose();
}
使用用户定义的尺寸创建缩略图
- 创建 Presentation 类的实例。
- 通过使用其 ID 或索引获取任何所需幻灯片的引用。
- 根据指定的比例获取所引用幻灯片的缩略图图像。
- 以任何所需的图像格式保存缩略图图像。
// 实例化表示演示文稿文件的 Presentation 类
Presentation pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
try {
// 访问第一张幻灯片
ISlide sld = pres.getSlides().get_Item(0);
// 用户定义的尺寸
int desiredX = 1200;
int desiredY = 800;
// 获取 X 和 Y 的缩放值
float ScaleX = (float)(1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float)(1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;
// 创建全尺度图像
IImage slideImage = sld.getImage(ScaleX, ScaleY);
// 以 JPEG 格式将图像保存到磁盘
try {
slideImage.save("Thumbnail_out.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
} finally {
pres.dispose();
}
从备注视图中的幻灯片创建缩略图
要使用 Aspose.Slides for Android via Java 在备注视图中生成任何所需的幻灯片的缩略图:
- 创建 Presentation 类的实例。
- 通过使用其 ID 或索引获取任何所需幻灯片的引用。
- 在备注视图中根据指定的比例获取所引用幻灯片的缩略图图像。
- 以任何所需的图像格式保存缩略图图像。
下面的代码片段生成演示文稿第一张幻灯片在备注视图中的缩略图。
// 实例化表示演示文稿文件的 Presentation 类
Presentation pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
try {
// 访问第一张幻灯片
ISlide sld = pres.getSlides().get_Item(0);
// 用户定义的尺寸
int desiredX = 1200;
int desiredY = 800;
// 获取 X 和 Y 的缩放值
float ScaleX = (float)(1.0 / pres.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float)(1.0 / pres.getSlideSize().getSize().getHeight()) * desiredY;
RenderingOptions opts = new RenderingOptions();
opts.getNotesCommentsLayouting().setNotesPosition(NotesPositions.BottomTruncated);
// 创建全尺度图像
IImage slideImage = sld.getImage(opts, ScaleX, ScaleY);
// 以 JPEG 格式将图像保存到磁盘
try {
slideImage.save("Thumbnail_out.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
} finally {
pres.dispose();
}