1. Продукты
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS for Java

Создавайте, читайте и редактируйте презентации PowerPoint с помощью Java — бесплатно и с открытым исходным кодом, без зависимости от Office.

Открытая Java библиотека для презентаций PowerPoint

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 или новее и не имеет нативных расширений для компиляции.

API презентаций и слайдов

  • Создание и открытие PPTX: Создавайте новые презентации или открывайте существующие файлы .pptx с помощью new Presentation() или new Presentation(path).
  • Добавление и удаление слайдов: Программно управляйте SlideCollection с помощью addClone(), addEmptySlide(), remove() и removeAt().
  • AutoShapes: Вставляйте прямоугольники, эллипсы, линии и другие геометрии ShapeType с помощью addAutoShape().
  • Tables и Connectors: Добавляйте структурированные формы таблиц и соединительные линии между объектами с помощью addConnector().
  • Speaker notes: Читайте и записывайте заметки докладчика для каждого слайда через NotesSlideManager.
  • Ветвящиеся комментарии: Получайте ветки комментариев уровня слайда с помощью getSlideComments().

Где можно использовать Aspose.Slides FOSS

  • Генерация отчетов: Создавайте фирменные наборы слайдов из источников данных без Office.
  • Автоматизация шаблонов: Заполняйте PPTX‑шаблоны динамическим контентом в конвейерах CI/CD.
  • Миграция контента: Чтение существующих презентаций и реструктуризация или изменение стиля слайдов.
  • Беспилотные бэкенды: Обработка файлов PPTX внутри Docker‑контейнеров или функций Lambda.
  • Пакетная обработка: Применение единообразных изменений форматирования к большим библиотекам наборов слайдов.

Форматирование текста и визуальные эффекты

  • Форматирование на уровне символов: Применяйте полужирный, курсив, размер шрифта и цвет к отдельным объектам Portion через getPortionFormat().
  • Сплошные и градиентные заливки: Устанавливайте заливку фигуры сплошным цветом или линейным градиентом с несколькими остановками с помощью getFillFormat() и FillType.
  • Эффекты тени и свечения: Применяйте внешнюю тень, свечение, размытие и отражение к любой фигуре через getEffectFormat().
  • Выравнивание абзаца: Устанавливайте выравнивание по левому краю, по центру, по правому краю или по ширине для каждого абзаца с помощью getParagraphFormat().setAlignment().
  • Безопасно при обратном проходе: Неизвестные части XML сохраняются дословно при повторном сохранении.

Опыт разработчика

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");
}

Часто задаваемые вопросы

Что такое Aspose.Slides FOSS для Java?

Это бесплатная библиотека pure-Java с лицензией MIT для создания, чтения и редактирования презентаций PowerPoint .pptx без необходимости в Microsoft Office.

Какие форматы файлов поддерживаются?

PPTX — поддерживаемый формат чтения/записи. Экспорт в PDF, HTML, SVG или изображения недоступен в этой версии.

Требуется ли Microsoft Office или PowerPoint?

Нет. Aspose.Slides FOSS — это чисто-Java библиотека без зависимости от Microsoft Office, автоматизации COM или какого‑либо проприетарного runtime.

Как установить его?

Добавьте зависимость Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 в ваш проект. Дополнительные системные пакеты или нативные расширения не требуются. Требуется JDK 21 или новее.

Могу ли я применить визуальные эффекты, такие как тень и свечение?

Да. Библиотека поддерживает внешнюю тень, свечение, размытие и эффекты отражения для любого объектa формы через API EffectFormat.

Рекомендуется ли использовать шаблон try-with-resources?

Да. Presentation реализует AutoCloseable, поэтому всегда используйте try (Presentation prs = new Presentation()) { ... } для надёжного освобождения ресурсов.

Повредит ли повторный импорт‑экспорт PPTX неизвестный контент?

Нет. Неизвестные XML‑части, обнаруженные при загрузке, сохраняются дословно при сохранении, поэтому содержимое, которое библиотека ещё не понимает, никогда не теряется.

Где можно найти исходный код?

Библиотека лицензирована по MIT и размещена на GitHub. Сообщения об ошибках и запросы на включение изменений приветствуются.

  

Ресурсы поддержки и обучения

 Русский