Въведение

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing 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 formatting: Фаска, камера, осветителна система, материал и дълбочина на екструзия чрез 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 файловете, създадени от други инструменти, се обработват безопасно при повторно зареждане.

Вижте също