Wprowadzenie
Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx pliki w pełni w Java, bez zależności od Microsoft Office ani żadnego własnościowego środowiska uruchomieniowego.
Biblioteka jest przeznaczona dla programistów, którzy potrzebują programowo generować lub manipulować plikami prezentacji: automatyzować zestawy slajdów na podstawie danych, wyodrębniać tekst i metadane z przesłanych plików PPTX, budować potoki raportowania oparte na prezentacjach lub wbudowywać tworzenie prezentacji w aplikacje Spring Boot. Ponieważ aspose-slides-foss jest czystym Java, więc wdraża się identycznie na Windows, macOS, Linux i w kontenerach Docker.
Kluczowe funkcje
- Pełne wsparcie round‑trip dla PPTX: Otwórz dowolny
.pptxplik, zmodyfikuj jego zawartość i zapisz 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 zaczyna się od jednego pustego slajdu ponew Presentation(). - AutoShapes, Tabele i Łączniki: Wstaw 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 sformatowanego: Formatuj tekst na poziomie znaków przy użyciu
PortionFormat: rozmiar czcionki, pogrubienie, kursywa, podkreślenie i kolor ARGB za pomocąFillType.SOLIDiColorFormat. - Typy wypełnień: Zastosuj
FillType.SOLID,GRADIENT,PATTERN, lubPICTUREwypełnienia do dowolnego kształtu. - Efekty wizualne: Cień zewnętrzny, poświata, miękka krawędź, rozmycie, odbicie i cień wewnętrzny przez
shape.getEffectFormat(). - 3D formatting: Fazowanie, kamera, zestaw oświetleniowy, materiał i głębokość ekstruzji przez
shape.getThreeDFormat(). - Notatki prelegenta: Dołącz tekst notatek do każdego slajdu za pomocą
getNotesSlideManager().addNotesSlide(). - Komentarze wątkowe:Dodaj komentarze z metadanymi autora i pozycją slajdu.
- Osadzone obrazy: Osadź z ścieżki pliku, bajtów lub
InputStream. - Właściwości dokumentu: Odczyt i zapis podstawowych, aplikacyjnych i niestandardowych właściwości.
Rozpoczęcie pracy
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
Poniższe obszary rzucają UnsupportedOperationException w tej wersji:
- Wykresy, SmartArt i obiekty OLE
- Animacje i przejścia slajdów
- Eksport do PDF, HTML, SVG lub formatów obrazów
- Hiperdłącza, ustawienia akcji, makra VBA i podpisy cyfrowe
Nieznane części XML napotkane podczas ładowania są zachowywane w niezmienionej formie przy zapisie, dzięki czemu pliki PPTX wygenerowane przez inne narzędzia mogą być bezpiecznie ponownie wczytywane.