Aspose.Slides FOSS для Java — це MIT-ліцензована pure-Java бібліотека для роботи з файлами PowerPoint .pptx. Додайте одну залежність Maven і одразу починайте створювати, читати та редагувати презентації без встановлення Microsoft Office або будь‑якого пропрієтарного середовища виконання.
Бібліотека надає Presentation API, побудоване навколо Presentation, Slide, Shape, TextFrame, Paragraph та Portion, концептуальної моделі, яку використовує сам PowerPoint. Додавайте та видаляйте слайди, вставляйте AutoShapes, Tables та Connectors, форматте текст на рівні символів з використанням жирного, курсивного, розміру шрифту та кольору, застосовуйте суцільні або градієнтні заливки та додавайте візуальні ефекти (тінь, сяйво, розмиття, відображення).
Клас Presentation реалізує AutoCloseable, тому використовуйте try-with-resources для надійного очищення. Невідомі XML частини, які зустрічаються під час завантаження, зберігаються дослівно при збереженні, тому кругове перетворення ніколи не знищує вміст, який бібліотека ще не розуміє. Для додаткових функцій та підтримки дивіться Aspose.Slides for Java enterprise edition.
.pptx за допомогою new Presentation() або new Presentation(path).SlideCollection за допомогою addClone(), addEmptySlide(), remove() та removeAt().ShapeType геометрії за допомогою addAutoShape().addConnector().NotesSlideManager.getSlideComments().Portion об’єктів за допомогою getPortionFormat().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, є open‑source на GitHub і вимагає JDK 21 або новішої.
Використовуйте try-with-resources, щоб забезпечити, що Presentation завжди закривається і ресурси звільняються. addAutoShape() приймає enum ShapeType, потім позицію x/y та ширину/висоту в пунктах. Викличте addTextFrame(), щоб створити текстовий кадр і встановити початковий текст в одному виклику — не викликайте getTextFrame() до addTextFrame(), оскільки кадр є 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 — найменшої одиниці послідовності символів. Відкрийте збережений файл, перейдіть до першої частини першого абзацу і встановіть властивості шрифту за допомогою геттерів і сетерів. Заповнення форми є незалежним: встановіть 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‑ліцензована pure-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 або новіший.
Так. Бібліотека підтримує зовнішню тінь, сяйво, розмиття та ефекти відображення для будь‑якого об’єкта форми через API EffectFormat.
Так. Presentation реалізує AutoCloseable, тому завжди використовуйте try (Presentation prs = new Presentation()) { ... } для надійного звільнення ресурсів.
Ні. Невідомі частини XML, які виявлені під час завантаження, зберігаються дослівно при збереженні, тому вміст, який бібліотека ще не розуміє, ніколи не втрачається.
Бібліотека має ліцензію MIT і розміщена на GitHub. Звіти про помилки та pull‑request’и вітаються.