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

Aspose.Slides FOSS для Java

Створюйте, читайте та редагуйте презентації PowerPoint за допомогою Java — безкоштовно та з відкритим кодом, без залежності від Office.

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

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.

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

  • Create and open PPTX: Створюйте нові презентації або відкривайте існуючі файли .pptx за допомогою new Presentation() або new Presentation(path).
  • Додавати та видаляти слайди: Програмно керуйте SlideCollection за допомогою addClone(), addEmptySlide(), remove() та removeAt().
  • AutoShapes: Вставляйте прямокутники, еліпси, лінії та інші ShapeType геометрії за допомогою addAutoShape().
  • Таблиці та з’єднувачі: Додайте структуровані форми таблиць та лінії з’єднувачів між формами через addConnector().
  • Speaker notes: Читати та записувати нотатки доповідача для кожного слайду через NotesSlideManager.
  • Тематичні коментарі: Отримайте доступ до гілок коментарів на рівні слайдів за допомогою getSlideComments().

Де Aspose.Slides FOSS можна використати

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

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

  • Форматування на рівні символів: Застосовуйте жирний, курсив, розмір шрифту та колір до окремих 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), тому будь‑хто, хто знайомий з моделлю об’єктів 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");
}
 

Часті Питання

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

Це безкоштовна, MIT‑ліцензована pure-Java бібліотека для створення, читання та редагування презентацій PowerPoint .pptx без потреби у Microsoft Office.

Які формати файлів підтримуються?

.pptx — підтримуваний формат читання/запису. Експорт у PDF, HTML, SVG або зображення недоступний у цій версії.

Чи потрібен Microsoft Office або PowerPoint?

Ні. Aspose.Slides FOSS — це чисто-Java бібліотека без залежності від Microsoft Office, COM-автоматизації або будь-якого пропрієтарного середовища виконання.

Як його встановити?

Додайте Maven‑залежність org.aspose.slides.foss:aspose-slides-foss:1.0.0 до вашого проєкту. Додаткові системні пакети чи нативні розширення не потрібні. Потрібен JDK 21 або новіший.

Чи можу я застосовувати візуальні ефекти, такі як тінь і сяйво?

Так. Бібліотека підтримує зовнішню тінь, сяйво, розмиття та ефекти відображення для будь‑якого об’єкта форми через API EffectFormat.

Чи рекомендується шаблон try-with-resources?

Так. Presentation реалізує AutoCloseable, тому завжди використовуйте try (Presentation prs = new Presentation()) { ... } для надійного звільнення ресурсів.

Чи призведе round-tripping PPTX до знищення невідомого вмісту?

Ні. Невідомі частини XML, які виявлені під час завантаження, зберігаються дослівно при збереженні, тому вміст, який бібліотека ще не розуміє, ніколи не втрачається.

Де я можу знайти вихідний код?

Бібліотека має ліцензію MIT і розміщена на GitHub. Звіти про помилки та pull‑request’и вітаються.

  

Ресурси Підтримки та Навчання

 Українська