如何开始使用 Aspose.Slides FOSS for Java

如何开始使用 Aspose.Slides FOSS for Java

aspose-slides-foss for Java 是一个免费、MIT 许可证的库,用于创建和编辑 PowerPoint .pptx 文件——无需 Microsoft Office,可在 Maven Central 获取。

分步指南

步骤 1:添加 Maven 依赖

将依赖项添加到您的 pom.xml(需要 Java 21 或更高版本):

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

通过构建项目验证包是否正确解析:

mvn dependency:resolve

步骤 2:导入所需类

导入加载演示文稿和保存所需的类:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;

步骤 3:创建演示文稿

构造一个 Presentation,不带参数,以便从一个空白幻灯片开始。始终使用 try-with-resources 来确保内部资源被释放:

import org.aspose.slides.foss.Presentation;

try (Presentation prs = new Presentation()) {
    System.out.println("Slides: " + prs.getSlides().size());
    prs.save("new_presentation.pptx");
}

步骤 4:添加带文本的形状

使用 slide.getShapes().addAutoShape() 插入一个矩形,然后调用 addTextFrame() 添加文本内容:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(24);
    fmt.setFontBold(NullableBool.TRUE);
    prs.save("with_shape.pptx");
}

步骤 5:应用填充并保存

在保存之前为形状设置纯色填充颜色:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 100, 100, 400, 200
    );
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
    shape.addTextFrame("Styled shape");
    prs.save("styled.pptx");
}

常见问题及解决方案

ClassNotFoundException 用于 org.aspose.slides.foss.Presentation
Maven 依赖未解析。运行 mvn dependency:resolve 并检查该
构件是否在 Maven Central 可用。验证 pom.xml 中的版本。

UnsupportedOperationException 在调用某些方法时
某些功能(图表、动画、PDF 导出)在此版本中会抛出 UnsupportedOperationException。在使用高级功能之前,请查看 API 参考的已知限制章节。

形状坐标似乎不正确
坐标和尺寸以 EMU(English Metric Units)为单位。一个点大约是
12700 EMU。默认幻灯片为 9144000 × 6858000 EMU。

加载现有 PPTX 时未找到文件
传入绝对路径或确保工作目录已正确设置:

import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }

常见问题

aspose-slides-foss 需要 Microsoft Office 吗?

不。该库在纯 Java 中原生创建和读取 .pptx 文件,无需依赖 Microsoft Office、COM 自动化或 Windows API。

支持哪些 Java 版本?

Java 21 或更高版本。该库可在 Windows、macOS、Linux 和 Docker 容器上运行。

该库可免费用于商业用途吗?

是的。它在 MIT 许可证下发布。您可以使用、修改和重新分发它用于
任何目的,包括商业应用。

我可以加载现有的 PPTX 文件吗?

是的。将文件路径传递给 Presentation 构造函数:

try (Presentation prs = new Presentation("existing.pptx")) {
    System.out.println("Loaded " + prs.getSlides().size() + " slides");
    prs.save("copy.pptx");
}

我需要显式关闭 Presentation 吗?

是的。Presentation 实现 AutoCloseable。始终使用 try-with-resources(try (Presentation prs = new Presentation()) { ... })以确保清理。

另请参阅

 中文