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

Aspose.Slides FOSS dla Java

Twórz, odczytuj i edytuj prezentacje PowerPoint przy użyciu Java — darmowe i otwartoźródłowe, bez wymogu zależności od Office.

Biblioteka Java o otwartym kodzie źródłowym dla prezentacji PowerPoint

Aspose.Slides FOSS for Java jest biblioteką na licencji MIT, czystą Java, służącą 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, koncepcyjnego modelu używanego przez sam PowerPoint. Dodawaj i usuwaj slajdy, wstawiaj AutoShapes, tabele i łączniki, formatuj tekst na poziomie znaków, używając pogrubienia, kursywy, rozmiaru i koloru czcionki, stosuj jednolite lub gradientowe wypełnienia oraz dodawaj efekty wizualne (cień, poświata, rozmycie, odbicie).

Klasa Presentation implementuje AutoCloseable, więc użyj try-with-resources do niezawodnego czyszczenia. Nieznane części XML napotkane podczas ładowania są zachowywane dosłownie przy zapisie, więc round-tripping nigdy nie niszczy treści, których biblioteka jeszcze nie rozumie. Aby uzyskać dodatkowe funkcje i wsparcie, zobacz Aspose.Slides for Java enterprise edition.

API prezentacji i slajdów

  • Utwórz i otwórz PPTX: Twórz nowe prezentacje lub otwieraj istniejące pliki .pptx za pośrednictwem new Presentation() lub new Presentation(path).
  • Dodawanie i usuwanie slajdów: Programowo zarządzaj SlideCollection przy użyciu addClone(), addEmptySlide(), remove() i removeAt().
  • AutoShapes: Wstaw prostokąty, elipsy, linie i inne ShapeType geometrie za pomocą addAutoShape().
  • Tabele i łączniki: Dodaj strukturalne kształty tabel i linie łączników pomiędzy kształtami za pomocą addConnector().
  • Speaker notes: Odczytuj i zapisuj notatki prelegenta dla każdego slajdu za pomocą NotesSlideManager.
  • Wątkowe komentarze: Uzyskaj dostęp do wątków komentarzy na poziomie slajdu za pomocą getSlideComments().

Gdzie Aspose.Slides FOSS może być używany

  • Generowanie raportów: Twórz markowe zestawy slajdów z źródeł danych bez Office.
  • Automatyzacja szablonów: Wypełniaj szablony PPTX dynamiczną treścią w potokach CI/CD.
  • 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 slajdów.

Formatowanie tekstu i efekty wizualne

  • Formatowanie na poziomie znaków: Zastosuj pogrubienie, kursywę, rozmiar czcionki i kolor do pojedynczych obiektów Portion za pomocą getPortionFormat().
  • Wypełnienia stałe i gradientowe: Ustaw wypełnienie kształtu na stały kolor lub liniowy gradient z wieloma przystankami, używając getFillFormat() i FillType.
  • Cienie i efekty poświaty: Zastosuj zewnętrzny cień, poświatę, rozmycie i odbicie do dowolnego kształtu za pomocą getEffectFormat().
  • Wyrównanie akapitu: Ustaw wyrównanie do lewej, środka, prawej lub justowanie dla każdego akapitu przy użyciu getParagraphFormat().setAlignment().
  • Round-trip safe: Nieznane części XML są zachowywane dosłownie przy ponownym zapisie.

Doświadczenie dewelopera

Aspose.Slides FOSS instaluje się za pomocą jednej zależności Maven (org.aspose.slides.foss:aspose-slides-foss). Biblioteka jest czystym Java bez natywnych rozszerzeń do kompilacji i bez pakietów systemowych do instalacji.

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 używać biblioteki. Jest na licencji MIT, open-source 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 zamykany i zasoby są zwalniane. addAutoShape() przyjmuje wyliczenie ShapeType, a następnie pozycję x/y oraz szerokość/wysokość w punktach. Wywołaj addTextFrame(), aby utworzyć ramkę tekstową i ustawić początkowy tekst w jednym wywołaniu — nie wywołuj getTextFrame() przed addTextFrame(), ponieważ ramka jest nullem aż do utworzenia.

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

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")) {
    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");
}
 

Najczęściej Zadawane Pytania

Czym jest Aspose.Slides FOSS dla Java?

Jest to darmowa, na licencji MIT czysta biblioteka Java do tworzenia, odczytywania i edytowania prezentacji PowerPoint .pptx bez wymogu posiadania Microsoft Office.

Jakie formaty plików są obsługiwane?

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

Czy wymaga Microsoft Office lub PowerPoint?

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

Jak to 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 wzorzec try-with-resources jest zalecany?

Tak. Presentation implementuje AutoCloseable, więc zawsze używaj try (Presentation prs = new Presentation()) { ... } do niezawodnego zwalniania 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 licencjonowana na licencji MIT i hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.

  

Zasoby Wsparcia i Nauki

 Polski