Jak rozpocząć pracę z Aspose.Slides FOSS dla Java
aspose-slides-foss for Java jest darmową, licencjonowaną na licencji MIT biblioteką do tworzenia i edytowania plików PowerPoint .pptx — nie wymaga Microsoft Office, dostępna w Maven Central.
Przewodnik krok po kroku
Krok 1: Dodaj zależność Maven
Dodaj zależność do swojego pom.xml (wymagany Java 21 lub nowszy):
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Sprawdź, czy pakiet rozwiązuje się poprawnie, budując projekt:
mvn dependency:resolveKrok 2: Importuj wymagane klasy
Zaimportuj klasy potrzebne do ładowania prezentacji i zapisywania:
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.ShapeType;
import org.aspose.slides.foss.FillType;Krok 3: Utwórz prezentację
Utwórz Presentation bez argumentów, aby rozpocząć od jednego pustego slajdu. Zawsze używaj
try-with-resources, aby zapewnić zwolnienie wewnętrznych zasobów:
import org.aspose.slides.foss.Presentation;
try (Presentation prs = new Presentation()) {
System.out.println("Slides: " + prs.getSlides().size());
prs.save("new_presentation.pptx");
}Krok 4: Dodaj kształt z tekstem
Użyj slide.getShapes().addAutoShape(), aby wstawić prostokąt, a następnie wywołaj addTextFrame()
aby dodać treść tekstową:
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.NullableBool;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 150
);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(24);
fmt.setFontBold(NullableBool.TRUE);
prs.save("with_shape.pptx");
}Krok 5: Zastosuj wypełnienie i zapisz
Ustaw jednolity kolor wypełnienia kształtu przed zapisaniem:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 100, 100, 400, 200
);
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
shape.addTextFrame("Styled shape");
prs.save("styled.pptx");
}Typowe problemy i rozwiązania
ClassNotFoundException for org.aspose.slides.foss.Presentation
Zależność Maven nie została rozwiązana. Uruchom mvn dependency:resolve i sprawdź, czy
artefakt jest dostępny w Maven Central. Zweryfikuj wersję w pom.xml.
UnsupportedOperationException podczas wywoływania niektórych metod
Niektóre funkcje (wykresy, animacje, eksport PDF) generują UnsupportedOperationException
w tej wersji. Sprawdź sekcję znanych ograniczeń w dokumentacji API przed użyciem
zaawansowanych funkcji.
Współrzędne kształtu wydają się niepoprawne
Współrzędne i wymiary są podane w EMU (English Metric Units). Jeden punkt to w przybliżeniu
12700 EMU. Domyślny slajd ma wymiary 9144000 × 6858000 EMU.
Plik nie znaleziony podczas ładowania istniejącego PPTX
Podaj ścieżkę bezwzględną lub upewnij się, że katalog roboczy jest ustawiony prawidłowo:
import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }Najczęściej zadawane pytania
Czy aspose-slides-foss wymaga Microsoft Office?
Nie. Biblioteka tworzy i odczytuje pliki .pptx natywnie w czystej Javie, bez zależności od Microsoft Office, automatyzacji COM ani interfejsów API systemu Windows.
Jakie wersje Javy są obsługiwane?
Java 21 lub nowszy. Biblioteka działa na systemach Windows, macOS, Linux oraz w kontenerach Docker.
Czy biblioteka jest darmowa do użytku komercyjnego?
Tak. Zostało wydane na licencji MIT. Możesz używać, modyfikować i rozpowszechniać je w dowolnym celu, w tym w zastosowaniach komercyjnych.
Czy mogę załadować istniejący plik PPTX?
Tak. Przekaż ścieżkę pliku do konstruktora Presentation:
try (Presentation prs = new Presentation("existing.pptx")) {
System.out.println("Loaded " + prs.getSlides().size() + " slides");
prs.save("copy.pptx");
}Czy muszę jawnie zamknąć prezentację?
Tak. Presentation implementuje AutoCloseable. Zawsze używaj try-with-resources
(try (Presentation prs = new Presentation()) { ... }), aby zapewnić czyszczenie.