Wprowadzenie

Aspose.Slides FOSS for Java jest teraz dostępny w Maven Central: darmowa, licencjonowana na licencji MIT biblioteka do tworzenia, odczytywania i edytowania plików PowerPoint .pptx całkowicie w Javie, bez zależności od Microsoft Office ani żadnego własnościowego środowiska uruchomieniowego.

Biblioteka jest przeznaczona dla programistów, którzy potrzebują generować lub manipulować plikami prezentacji programowo: automatyzować zestawy slajdów na podstawie danych, wyodrębniać tekst i metadane z przesłanych plików PPTX, budować pipeline’y raportowania oparte na prezentacjach lub osadzać tworzenie prezentacji w aplikacjach Spring Boot. Ponieważ aspose-slides-foss jest czystą Javą, wdraża się identycznie na Windows, macOS, Linux i kontenerach Docker.

Kluczowe funkcje

  • Pełne wsparcie round‑trip dla PPTX: Otwórz dowolny plik .pptx, zmodyfikuj jego zawartość i zapisz go ponownie, nie tracąc nieznanych części XML, których biblioteka jeszcze nie rozumie.
  • Zarządzanie slajdami: Dodawaj, usuwaj i iteruj slajdy przy użyciu prs.getSlides(); prezentacja rozpoczyna się jednym pustym slajdem po new Presentation().
  • AutoShape, Tabele i Łączniki: Wstawiaj kształty za pomocą slide.getShapes().addAutoShape(), dane tabelaryczne za pomocą slide.getShapes().addTable() oraz wizualne łączniki między kształtami za pomocą slide.getShapes().addConnector().
  • Formatowanie tekstu bogatego: Formatuj tekst na poziomie znaków przy użyciu PortionFormat: rozmiar czcionki, pogrubienie, kursywa, podkreślenie oraz kolor ARGB za pomocą FillType.SOLID i ColorFormat.
  • Typy wypełnień: Zastosuj wypełnienia FillType.SOLID, GRADIENT, PATTERN lub PICTURE do dowolnego kształtu.
  • Efekty wizualne: Zewnętrzny cień, poświata, miękka krawędź, rozmycie, odbicie i wewnętrzny cień za pomocą shape.getEffectFormat().
  • Formatowanie 3D: Fazowanie, kamera, zestaw świateł, materiał oraz głębokość ekstruzji za pomocą shape.getThreeDFormat().
  • Notatki prelegenta: Dołącz tekst notatek do każdego slajdu za pomocą getNotesSlideManager().addNotesSlide().
  • Wątkowane komentarze: Dodawaj komentarze z metadanymi autora i pozycją na slajdzie.
  • Osadzone obrazy: Osadzaj z ścieżki pliku, bajtów lub InputStream.
  • Właściwości dokumentu: Odczytuj i zapisuj podstawowe, aplikacyjne oraz własne właściwości.

Rozpoczęcie

Dodaj zależność Maven. Wymagany jest Java 21 lub nowszy.

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

Utwórz swoją pierwszą prezentację z kształtem i zapisz ją:

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

Zawsze używaj Presentation wewnątrz bloku try-with-resources; zapewnia to zwolnienie wszystkich wewnętrznych zasobów po wyjściu z bloku.

Przykład formatowania tekstu

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

Obecne ograniczenia

W tej wersji następujące obszary generują UnsupportedOperationException:

  • Wykresy, SmartArt i obiekty OLE
  • Animacje i przejścia slajdów
  • Eksport do PDF, HTML, SVG lub formatów obrazów
  • Hiperłącza, ustawienia akcji, makra VBA i podpisy cyfrowe

Nieznane części XML napotkane podczas ładowania są zachowywane dosłownie przy zapisie, więc pliki PPTX wygenerowane przez inne narzędzia są bezpiecznie przetwarzane w obie strony.

Zobacz także