Aspose.Slides FOSS для Java — это библиотека с лицензией MIT, полностью написанная на Java, предназначенная для работы с файлами PowerPoint .pptx. Добавьте единственную зависимость Maven и сразу начните создавать, читать и редактировать презентации без установки Microsoft Office или какого‑либо проприетарного runtime.
Библиотека предоставляет API презентаций, построенное вокруг Presentation, Slide, Shape, TextFrame, Paragraph и Portion — концептуальной модели, используемой самим PowerPoint. Добавляйте и удаляйте слайды, вставляйте автофигуры, таблицы и соединители, форматируйте текст на уровне символов с помощью полужирного, курсивного начертания, размера шрифта и цвета, применяйте сплошные или градиентные заливки и добавляйте визуальные эффекты (тень, сияние, размытие, отражение).
Класс Presentation реализует AutoCloseable, поэтому используйте try-with-resources для надёжного освобождения ресурсов. Неизвестные XML‑части, встреченные при загрузке, сохраняются дословно при сохранении, так что при круговом проходе содержимое, которое библиотека ещё не понимает, никогда не уничтожается. Библиотека требует JDK 21 или новее и не имеет нативных расширений для компиляции.
.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), поэтому любой, кто знаком с этой моделью, может сразу приступить к работе с библиотекой. Она лицензирована по MIT, открыта на GitHub и требует JDK 21 или новее.
Используйте try-with-resources, чтобы гарантировать, что Presentation всегда закрывается и ресурсы освобождаются. addAutoShape() принимает перечисление ShapeType, затем координаты x/y и ширину/высоту в пунктах — метод getTextFrame().setText() формы задаёт метку одним вызовом.
<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);
// Добавить прямоугольную AutoShape
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 150
);
shape.getTextFrame().setText("Привет, Aspose.Slides!");
prs.save("output.pptx");
}
Форматирование текста работает на уровне Portion — наименьшей единицы последовательности символов. Откройте сохранённый файл, перейдите к первой части первого абзаца и задайте свойства шрифта с помощью геттеров и сеттеров. Заливка фигуры независима: установите FillType в SOLID и задайте цвет через getSolidFillColor().setColor().
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation("output.pptx")) {
IShape shape = prs.getSlides().get(0).getShapes().get(0);
IPortion portion = shape.getTextFrame()
.getParagraphs().get(0).getPortions().get(0);
// Жирный, 18pt, тёмно‑синий текст
portion.getPortionFormat().setFontBold(NullableBool.TRUE);
portion.getPortionFormat().setFontHeight(18);
portion.getPortionFormat().getFillFormat()
.getSolidFillColor().setColor(new Color(0, 0, 139));
// Сплошное заполнение фона формы
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor()
.setColor(new Color(240, 248, 255));
prs.save("formatted.pptx");
}
Это бесплатная библиотека pure-Java с лицензией MIT для создания, чтения и редактирования презентаций PowerPoint .pptx без необходимости в Microsoft Office.
PPTX — поддерживаемый формат чтения/записи. Экспорт в PDF, HTML, SVG или изображения недоступен в этой версии.
Нет. Aspose.Slides FOSS — это чисто-Java библиотека без зависимости от Microsoft Office, автоматизации COM или какого‑либо проприетарного runtime.
Добавьте зависимость Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 в ваш проект. Дополнительные системные пакеты или нативные расширения не требуются. Требуется JDK 21 или новее.
Да. Библиотека поддерживает внешнюю тень, свечение, размытие и эффекты отражения для любого объектa формы через API EffectFormat.
Да. Presentation реализует AutoCloseable, поэтому всегда используйте try (Presentation prs = new Presentation()) { ... } для надёжного освобождения ресурсов.
Нет. Неизвестные XML‑части, обнаруженные при загрузке, сохраняются дословно при сохранении, поэтому содержимое, которое библиотека ещё не понимает, никогда не теряется.
Библиотека лицензирована по MIT и размещена на GitHub. Сообщения об ошибках и запросы на включение изменений приветствуются.