1. 产品
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS for Java

从 Java 创建、读取和编辑 PowerPoint 演示文稿 — 免费开源,无需 Office 依赖。

开源Java库用于PowerPoint演示文档

Aspose.Slides FOSS for Java 是一个 MIT 许可证的 pure-Java 库,用于处理 PowerPoint .pptx 文件。添加一个 Maven 依赖,即可立即开始创建、读取和编辑演示文稿,而无需安装 Microsoft Office 或任何专有运行时。

该库公开了一个基于 PresentationSlideShapeTextFrameParagraphPortion 构建的 Presentation API,这是 PowerPoint 本身使用的概念模型。可以添加和删除幻灯片,插入 AutoShapes、表格和连接线,在字符级别对文本进行加粗、斜体、字号和颜色等格式化,应用纯色或渐变填充,并添加视觉效果(阴影、发光、模糊、反射)。

Presentation 类实现了 AutoCloseable,因此请使用 try-with-resources 进行可靠的清理。加载期间遇到的未知 XML 部分在保存时会原样保留,因此往返转换永远不会破坏库尚未理解的内容。欲获取更多功能和支持,请参见 Aspose.Slides for Java enterprise edition

介绍和幻灯片API

  • 创建和打开 PPTX: 创建新的演示文稿或通过 new Presentation()new Presentation(path) 打开现有的 .pptx 文件。
  • 添加和删除幻灯片: 以编程方式使用 addClone()addEmptySlide()remove()removeAt() 管理 SlideCollection
  • AutoShapes: 通过 addAutoShape() 插入矩形、椭圆、直线以及其他 ShapeType 几何形状。
  • 表格和连接器: 通过 addConnector() 添加结构化的表格形状和形状之间的连接线。
  • 演讲者备注: 通过 NotesSlideManager 读取和写入每张幻灯片的演讲者备注。
  • 线程式评论: 使用 getSlideComments() 访问幻灯片级别的评论线程。

在哪里可以使用Aspose.Slides FOSS?

  • 报告生成: 建立自非Office的数据源品牌幻灯片.
  • **模板自动化:**在CI/CD管道中填写PPTX模块具有动态内容.
  • **内容迁移:**阅读现有展示,重组或重新设计幻灯片.
  • **无服务器后端:**在Docker容器或Lambda函数内处理PPTX文件.
  • **批量处理:**在大型幻灯片库中应用统一格式化变更.

文本格式和视觉效果

  • **字符级格式化:**通过 getPortionFormat() 应用大胆,斜体,字体尺寸和颜色到单个Portion 对象.
  • **固体和梯度填充:**使用getFillFormat()FillType.设置形状填写为一个固色或多站线性梯次.
  • **阴影和光泽效果:**通过getEffectFormat()将外在的阴暗,光亮,模糊和反射应用于任何形状.
  • **段落对齐:**设置左,中,右或使用getParagraphFormat().setAlignment()来证明每段的对照.
  • **回程保险箱:**未知XML部分在重新保存时会被保留.

开发者经验

Aspose.Slides FOSS 通过单个 Maven 依赖 (org.aspose:aspose-slides-foss:26.7.0) 安装。该库是纯 Java,无需编译本机扩展,也不需要安装系统软件包。

API 镜像了 PowerPoint 自身的对象模型(PresentationSlideShapeTextFrameParagraphPortion),因此熟悉 PowerPoint 对象模型的任何人都可以立即使用该库。它采用 MIT 许可证,在 GitHub 上开源,并且需要 JDK 21 或更高版本。

创建一个演示表,并添加一个形状

使用试用资源来确保Presentation总是关闭的,并且资源被释放. addAutoShape() 取一个ShapeType enum,然后以点为x/y位置和宽度/高度.调用addTextFrame()创建文本框架并设置初始文字在一次调用的过程中不要在 { PLACALLER }}之前调动{ PLASECHODER 06 }因为框直到创作时才无效.

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

格式化文本并应用填充效果

文本格式化工作在 Portion 的层面上.这是一个字符串中最小的单位.打开保存文件,导航到第一个段落的第一部分,并通过getter和setters设置字体属性.形状填充是独立的:将FillType设定为SOLID,并在getSolidFillColor().setColor() 中赋予颜色.

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.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");
}

常见问题

什么是Java的Aspose.Slides FOSS?

它是一个免费的,获得MIT许可证的纯Java库,可以创建,阅读和编辑PowerPoint .pptx 演示文档而不需要Microsoft Office.

支持哪些文件格式?

.pptx 是支持的读写格式. 导出到 PDF, HTML, SVG 或图像在此版本中不提供.

它需要微软办公室或PowerPoint吗?

没有. Aspose.Slides FOSS是一个纯Java库,不依赖微软Office,COM自动化或任何专有运行时间.

我怎么安装它?

添加 Maven 的依赖性 org.aspose:aspose-slides-foss:26.7.0 到您的项目. 不需要额外的系统包或本地扩展. JDK 21 或更新的版本是必需的.

我能使用影子和光线等视觉效果吗?

是的.图书馆支持任何形状对象上的外影,光泽,模糊和反射效果通过EffectFormat API.

试用资源模式是否是推的?

是的. Presentation 实现了AutoCloseable,所以总是使用try (Presentation prs = new Presentation()) { ... }进行可靠资源清理.

转移PPTX会破坏未知的内容吗?

没有.在加载过程中遇到的未知XML部分会被保存,所以库还无法理解的内容永远不会丢失.

在哪里可以找到源代码?

图书馆是MIT授权的,并托管在GitHub.错误报告和拉请求都欢迎.

  

支持和学习资源

 中文