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

Aspose.Slides FOSS за Java

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

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

Aspose.Slides FOSS за Java е MIT лицензирана чисто-Java библиотека за работа с PowerPoint .pptx файлове. Добавете една единствена Maven зависимост и веднага започнете да създавате, четете и редактирате презентации без да инсталирате Microsoft Office или какъвто и да е собственически runtime.

Библиотеката предоставя 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 за презентации и слайдове

  • Създаване и отваряне на PPTX: Създавайте нови презентации или отваряйте съществуващи .pptx файлове чрез new Presentation() или new Presentation(path).
  • Добавяне и премахване на слайдове: Програмирано управление на SlideCollection с addClone(), addEmptySlide(), remove() и removeAt().
  • AutoShapes: Вмъквайте правоъгълници, елипси, линии и други ShapeType геометрии чрез addAutoShape().
  • Таблици и конектори: Добавете структурирани форми на таблици и линии за свързване между форми чрез addConnector().
  • Бележки за говорителя: Четене и записване на бележки за говорителя за всеки слайд чрез 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 без native extensions за компилиране и без system packages за инсталиране.

API‑то отразява собствената обектна модел на PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), така че всеки, запознат с обектния модел на PowerPoint, може веднага да използва библиотеката. Тя е лицензирана под MIT, с отворен код в GitHub и изисква JDK 21 или по‑нова версия.

Създайте презентация и добавете фигура

Използвайте try-with-resources, за да се гарантира, че Presentation винаги се затваря и ресурсите се освобождават. addAutoShape() приема 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");
}
 

Frequently Asked Questions

Какво е Aspose.Slides FOSS за Java?

Това е безплатна, лицензирана под MIT чиста-Java библиотека за създаване, четене и редактиране на презентации 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 към вашия проект. Не са необходими допълнителни системни пакети или native extensions. Необходим е JDK 21 или по-нов.

Мога ли да приложа визуални ефекти като сянка и светене?

Да. Библиотеката поддържа външна сянка, светлинен блясък, размазване и отражения върху всеки shape обект чрез API EffectFormat.

Препоръчва ли се шаблонът try-with-resources?

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

Ще унищожи ли round-tripping на PPTX неизвестното съдържание?

Не. Неизвестните XML части, срещнати по време на зареждане, се запазват дословно при запазване, така че съдържанието, което библиотеката все още не разбира, никога не се губи.

Къде мога да намеря изходния код?

Библиотеката е лицензирана под MIT и е хоствана в GitHub. Съобщения за грешки и pull requests са добре дошли.

  

Ресурси за поддръжка и обучение

 Български