Въведение

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

Библиотеката е проектирана за разработчици, които трябва да генерират или манипулират презентационни файлове програмно: автоматизиране на слайдове от данни, извличане на текст и метаданни от качени PPTX файлове, създаване на базирани на презентации отчетни конвейери или вграждане на създаване на презентации в Spring Boot приложения. Тъй като aspose-slides-foss е чист Java, тя се внедрява идентично на Windows, macOS, Linux и Docker контейнери.

Ключови функции

  • Пълна двупосочна поддръжка на PPTX: Отворете всеки .pptx файл, променете съдържанието му и го запишете обратно, без да се губят неизвестни XML части, които библиотеката все още не разбира.
  • Управление на слайдове: Добавяйте, премахвайте и обхождайте слайдове с помощта на prs.getSlides(); презентацията започва с един празен слайд след new Presentation().
  • AutoShapes, таблици и конектори: Вмъквайте форми чрез slide.getShapes().addAutoShape(), таблични данни чрез slide.getShapes().addTable() и визуални конектори между форми чрез slide.getShapes().addConnector().
  • Форматиране на богати текстове: Форматирайте текста на ниво символ с PortionFormat: размер на шрифта, удебеляване, курсив, подчертаване и ARGB цвят чрез FillType.SOLID и ColorFormat.
  • Типове запълване: Прилагайте запълнения FillType.SOLID, GRADIENT, PATTERN или PICTURE към всяка форма.
  • Визуални ефекти: Външна сянка, сияние, мека граница, размазване, отражение и вътрешна сянка чрез shape.getEffectFormat().
  • 3D форматиране: Фаска, камера, осветление, материал и дълбочина на екструзия чрез shape.getThreeDFormat().
  • Бележки за говорителя: Прикрепете текст на бележки към всеки слайд чрез getNotesSlideManager().addNotesSlide().
  • Низови коментари: Добавяйте коментари с метаданни за автора и позиция на слайда.
  • Вградени изображения: Вграждайте от път към файл, байтове или InputStream.
  • Свойства на документа: Четете и записвайте основни, приложни и персонализирани свойства.

Започване

Добавете Maven зависимостта. Необходим е Java 21 или по‑нов.

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

Създайте първата си презентация с форма и я запазете:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

public class HelloSlides {
    public static void main(String[] args) {
        try (Presentation prs = new Presentation()) {
            ISlide slide = prs.getSlides().get(0);
            IAutoShape shape = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 50, 400, 120
            );
            shape.addTextFrame("Hello from Aspose.Slides FOSS!");
            prs.save("hello.pptx");
        }
    }
}

Винаги използвайте Presentation вътре в блок try-with-resources; това осигурява освобождаването на всички вътрешни ресурси, когато блокът излезе.

Пример за форматиране на текст

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 500, 150
    );
    ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(28);
    fmt.setFontBold(NullableBool.TRUE);
    fmt.getFillFormat().setFillType(FillType.SOLID);
    fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
    prs.save("formatted.pptx");
}

Текущи ограничения

Следните области генерират UnsupportedOperationException в тази версия:

  • Диаграми, SmartArt и OLE обекти
  • Анимации и преходи между слайдове
  • Експортиране в PDF, HTML, SVG или графични формати
  • Хипервръзки, настройки за действия, VBA макроси и цифрови подписи

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

Вижте също