Aspose.Slides FOSS for Java 是一个 MIT 许可证的纯 Java 库,用于处理 PowerPoint .pptx 文件。添加单个 Maven 依赖,即可立即开始创建、读取和编辑演示文稿,而无需安装 Microsoft Office 或任何专有运行时。
该库提供了围绕 Presentation、Slide、Shape、TextFrame、Paragraph 和 Portion 构建的 Presentation API,这是 PowerPoint 本身使用的概念模型。添加和删除幻灯片,插入自动形状、表格和连接线,在字符级别对文本进行加粗、斜体、字号和颜色等格式设置,应用纯色或渐变填充,并添加视觉效果(阴影、发光、模糊、反射)。
Presentation 类实现了 AutoCloseable,因此请使用 try-with-resources 进行可靠的清理。加载期间遇到的未知 XML 部分在保存时会原样保留,因此往返过程永远不会破坏库尚未理解的内容。有关更多功能和支持,请参阅 Aspose.Slides for Java enterprise edition。
new Presentation() 或 new Presentation(path) 打开现有的 .pptx 文件。addClone()、addEmptySlide()、remove() 和 removeAt() 以编程方式管理 SlideCollection。ShapeType 几何形状,通过 addAutoShape()。addConnector() 添加结构化表格形状和形状之间的连接线。NotesSlideManager。getSlideComments() 访问幻灯片级别的评论线程。getPortionFormat() 对单个 Portion 对象应用粗体、斜体、字体大小和颜色。getFillFormat() 和 FillType 将形状填充设置为实色或多点线性渐变。getEffectFormat() 对任意形状应用外部阴影、发光、模糊和反射。getParagraphFormat().setAlignment() 为每个段落设置左对齐、居中、右对齐或两端对齐。Aspose.Slides FOSS 使用单个 Maven 依赖 (org.aspose.slides.foss:aspose-slides-foss) 安装。该库是纯 Java,无需编译本机扩展,也不需要安装系统软件包。
该 API 镜像了 PowerPoint 自身的对象模型(Presentation、Slide、Shape、TextFrame、Paragraph、Portion),因此熟悉 PowerPoint 对象模型的任何人都可以立即使用该库。它采用 MIT 许可证,在 GitHub 上开源,并且需要 JDK 21 或更高版本。
使用 try-with-resources 确保 Presentation 始终被关闭并释放资源。addAutoShape() 接受一个 ShapeType 枚举,然后是以点为单位的 x/y 位置和宽度/高度。调用 addTextFrame() 来创建文本框并在一次调用中设置初始文本 — 不要在 addTextFrame() 之前调用 getTextFrame(),因为在创建之前框为 null。
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
// Add a rectangle AutoShape
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 150
);
shape.addTextFrame("Hello, Aspose.Slides!");
prs.save("output.pptx");
}
```xml
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
文本格式化在 Portion 级别工作 — 最小的字符序列单元。打开已保存的文件,导航到第一段的第一部分,并通过 getter 和 setter 设置字体属性。形状填充是独立的:将 FillType 设置为 SOLID 并通过 getSolidFillColor().setColor() 分配颜色。
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation("output.pptx")) {
IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
IPortion portion = shape.getTextFrame()
.getParagraphs().get(0).getPortions().get(0);
// Bold, 18pt, dark-blue text
portion.getPortionFormat().setFontBold(NullableBool.TRUE);
portion.getPortionFormat().setFontHeight(18);
portion.getPortionFormat().getFillFormat()
.getSolidFillColor().setColor(new Color(0, 0, 139));
// Solid background fill on the shape
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor()
.setColor(new Color(240, 248, 255));
prs.save("formatted.pptx");
}
```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation("output.pptx")) {
IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
IPortion portion = shape.getTextFrame()
.getParagraphs().get(0).getPortions().get(0);
// Bold, 18pt, dark-blue text
portion.getPortionFormat().setFontBold(NullableBool.TRUE);
portion.getPortionFormat().setFontHeight(18);
portion.getPortionFormat().getFillFormat()
.getSolidFillColor().setColor(new Color(0, 0, 139));
// Solid background fill on the shape
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor()
.setColor(new Color(240, 248, 255));
prs.save("formatted.pptx");
}
它是一个免费、MIT 许可证的纯-Java 库,用于创建、读取和编辑 PowerPoint .pptx 演示文稿,无需 Microsoft Office。
.pptx 是受支持的读写格式。此版本不支持导出为 PDF、HTML、SVG 或图像。
不。Aspose.Slides FOSS 是一个纯-Java 库,不依赖 Microsoft Office、COM 自动化或任何专有运行时。
在你的项目中添加 Maven 依赖 org.aspose.slides.foss:aspose-slides-foss:1.0.0。不需要额外的系统软件包或本机扩展。需要 JDK 21 或更高版本。
是的。该库通过 EffectFormat API 支持对任何形状对象的外部阴影、发光、模糊和反射效果。
是的。Presentation 实现了 AutoCloseable,因此始终使用 try (Presentation prs = new Presentation()) { ... } 以确保可靠的资源清理。
不。加载期间遇到的未知 XML 部分在保存时会原样保留,因此库尚未理解的内容永不丢失。
该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交错误报告和拉取请求。