1. Produkty
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS for Java

Tworzenie, odczytywanie i edytowanie prezentacji programu PowerPoint — bezpłatne i open source, bez potrzeby uzależnienia od pakietu Office.

Open-Source Java Library for PowerPoint Presentations

Aspose.Slides FOSS dla Java to biblioteka na licencji MIT, czysta Java, służąca do pracy z plikami PowerPoint .pptx. Dodaj jedną zależność Maven i od razu zacznij tworzyć, odczytywać i edytować prezentacje bez instalowania Microsoft Office ani żadnego własnościowego środowiska uruchomieniowego.

Biblioteka udostępnia API prezentacji zbudowane wokół Presentation, Slide, Shape, TextFrame, Paragraph i Portion, modelu koncepcyjnego używanego przez sam PowerPoint. Dodawaj i usuwaj slajdy, wstawiaj AutoShape’y, tabele i łączniki, formatuj tekst na poziomie znaków z pogrubieniem, kursywą, rozmiarem i kolorem czcionki, stosuj wypełnienia jednorodne lub gradientowe oraz dodawaj efekty wizualne (cień, poświata, rozmycie, odbicie).

Klasa Presentation implementuje AutoCloseable, więc używaj try-with-resources dla pewnego sprzątania. Nieznane części XML napotkane podczas ładowania są zachowywane wprost przy zapisie, więc dwukierunkowe przetwarzanie nigdy nie niszczy treści, których biblioteka jeszcze nie rozumie. Biblioteka wymaga JDK 21 lub nowszego i nie posiada natywnych rozszerzeń do kompilacji.

API prezentacji i slajdów

  • Utwórz i otwórz PPTX: Twórz nowe prezentacje lub otwieraj istniejące pliki .pptx za pomocą new Presentation() lub new Presentation(path).
  • Dodawaj i usuwaj slajdy: Zarządzaj programowo SlideCollection przy użyciu addClone(), addEmptySlide(), remove() i removeAt().
  • AutoShapes: Wstawiaj prostokąty, elipsy, linie i inne geometrie ShapeType za pomocą addAutoShape().
  • Tabele i łączniki: Dodawaj strukturalne kształty tabel oraz linie łączników pomiędzy kształtami za pomocą addConnector().
  • Notatki prelegenta: Odczytuj i zapisuj notatki prelegenta dla poszczególnych slajdów za pomocą NotesSlideManager.
  • Komentarze wątkowe: Access slide-level comment threads with getSlideComments().

Gdzie można używać Aspose.Slides FOSS

  • Generowanie raportów: Build branded slide decks from data sources without Office.
  • Automatyzacja szablonów: Fill PPTX templates with dynamic content in CI/CD pipelines.
  • Migracja treści: Odczytaj istniejące prezentacje i przekształć lub przeprojektuj slajdy.
  • Backendy bezserwerowe: Przetwarzaj pliki PPTX w kontenerach Docker lub funkcjach Lambda.
  • Przetwarzanie wsadowe: Zastosuj jednolite zmiany formatowania w dużych bibliotekach zestawów slajdów.

Formatowanie tekstu i efekty wizualne

  • Formatowanie na poziomie znaków: Apply bold, italic, font size, and color to individual Portion objects via getPortionFormat().
  • Wypełnienia stałe i gradientowe: Set shape fill to a solid color or multi-stop linear gradient using getFillFormat() and FillType.
  • Efekty cienia i poświaty: Apply outer shadow, glow, blur, and reflection to any shape via getEffectFormat().
  • Wyrównanie akapitu: Set left, center, right, or justify alignment per paragraph using getParagraphFormat().setAlignment().
  • Bezpieczne przy round‑trip: Unknown XML parts are preserved verbatim on re-save.

Doświadczenie dewelopera

Aspose.Slides FOSS instalowany jest jedną zależnością Maven (org.aspose.slides.foss:aspose-slides-foss). Biblioteka jest czystym Java bez natywnych rozszerzeń do kompilacji i bez konieczności instalacji pakietów systemowych.

API odzwierciedla własny model obiektowy PowerPointa (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), więc każdy zaznajomiony z modelem obiektowym PowerPointa może od razu korzystać z biblioteki. Jest na licencji MIT, otwartoźródłowa na GitHubie i wymaga JDK 21 lub nowszego.

Utwórz prezentację i dodaj kształt

Użyj try-with-resources, aby zapewnić, że Presentation jest zawsze zamykana i zasoby zwalniane. addAutoShape() przyjmuje enum ShapeType, a następnie pozycję x/y oraz szerokość/wysokość w punktach — metoda getTextFrame().setText() kształtu ustawia etykietę w jednym wywołaniu.

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

    // Dodaj prostokątną AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.getTextFrame().setText("Witaj, Aspose.Slides!");

    prs.save("output.pptx");
}

Formatuj tekst i zastosuj efekt wypełnienia

Formatowanie tekstu działa na poziomie Portion — najmniejszej jednostki ciągu znaków. Otwórz zapisany plik, przejdź do pierwszej części pierwszego akapitu i ustaw właściwości czcionki za pomocą getterów i setterów. Wypełnienie kształtu jest niezależne: ustaw FillType na SOLID i przypisz kolor za pomocą 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);

    // Pogrubiony, 18pt, ciemnoniebieski tekst
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Jednolite wypełnienie tła kształtu
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}

Najczęściej Zadawane Pytania

Czym jest Aspose.Slides FOSS dla Java?

It is a free, MIT-licensed pure-Java library for creating, reading, and editing PowerPoint .pptx presentations without requiring Microsoft Office.

Jakie formaty plików są obsługiwane?

PPTX jest obsługiwanym formatem odczytu/zapisu. Eksport do PDF, HTML, SVG ani obrazów nie jest dostępny w tej edycji.

Czy wymaga Microsoft Office lub PowerPoint?

Nie. Aspose.Slides FOSS jest biblioteką pure-Java bez zależności od Microsoft Office, automatyzacji COM ani żadnego własnościowego środowiska uruchomieniowego.

Jak go zainstalować?

Dodaj zależność Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 do swojego projektu. Nie są wymagane dodatkowe pakiety systemowe ani natywne rozszerzenia. Wymagany jest JDK 21 lub nowszy.

Czy mogę zastosować efekty wizualne, takie jak cień i poświata?

Tak. Biblioteka obsługuje efekty zewnętrznego cienia, poświaty, rozmycia i odbicia na dowolnym obiekcie kształtu za pośrednictwem API EffectFormat.

Czy zaleca się stosowanie wzorca try-with-resources?

Tak. Presentation implementuje AutoCloseable, więc zawsze używaj try (Presentation prs = new Presentation()) { ... } aby zapewnić niezawodne czyszczenie zasobów.

Czy round-tripping pliku PPTX zniszczy nieznaną zawartość?

Nie. Nieznane części XML napotkane podczas ładowania są zachowywane dosłownie przy zapisie, więc treść, której biblioteka jeszcze nie rozumie, nigdy nie zostaje utracona.

Gdzie mogę znaleźć kod źródłowy?

Biblioteka jest na licencji MIT i jest hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.

  

Zasoby Wsparcia i Nauki

 Polski