Wie man Präsentationen in Java erstellt
Aspose.Slides FOSS for Java lets you create PowerPoint presentations entirely in Java with no dependency on Microsoft Office. This guide shows how to create a new presentation, add slides and shapes, format text, and save the result.
Schritt für Schritte
Schritt 1: Hinzufügen der Maven-Abhängigkeit
Fügen Sie Aspose.Slides FOSS zu Ihrem pom.xml. ist Java 21 oder höher erforderlich.
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>26.7.0</version>
</dependency>Die Installation überprüfen:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
prs.dispose();
System.out.println("Aspose.Slides FOSS ready");Schritt 2: Importieren der erforderlichen Klassen
Importieren der Presentation und der SaveFormat Ich brauche sie zum Rettung.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;Alle Konstanten des Formtyps leben in org.aspose.slides.foss.ShapeType.Formatierung von Enum (FillType, NullableBool) sind auch in den Mitgliedstaaten zu finden. org.aspose.slides.foss.
Schritt 3: Erstellen Sie eine Präsentation
Verwendung new Presentation() Eine neue Präsentation beginnt mit einer leeren Folie.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
System.out.println("Slides in new presentation: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}Wichtig: Verwenden Sie immer Versuchs-Ressourcen oder rufen Sie an. prs.dispose() Ressourcen werden sonst nicht richtig freigegeben.
Schritt 4: Auf eine Folie zugreifen
Die erste Folie ist bei Index 0. Eine leere Präsentation hat genau eine Folio.
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0); // zero-based index
System.out.println("Slide at index 0: " + slide);
prs.save("output.pptx", SaveFormat.PPTX);
}Schritt 5: Fügen Sie eine Form hinzu
Verwendung slide.getShapes().addAutoShape() Die Parameter sind: (shapeType, x, y, width, height) Alle in Punkten (1 Punkt = 1/72 Zoll; Standarddiagramm ist 720 x 540 pt).
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.ITable;
import org.aspose.slides.foss.ILayoutSlide;
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()) {
ISlide slide = prs.getSlides().get(0);
// Rectangle at (50, 50) with 400 wide and 120 tall
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
// Attach a text frame
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("with-shape.pptx", SaveFormat.PPTX);
}Schritt 6: Speichern Sie die Präsentation
Rufen Sie an . prs.save(path, SaveFormat.PPTX) PPTX ist das einzige unterstützte Ausgabeformat.
prs.save("result.pptx", SaveFormat.PPTX);Die Datei wird atomar geschrieben; wenn vor diesem Aufruf ein Fehler auftritt, wird keine Ausgabedatei erstellt.
Vollständiges Arbeitsbeispiel
Das folgende Programm erstellt eine zweistufige Präsentation mit einer Titelform auf der ersten Folie und einem Tisch auf dem zweiten.
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.ITable;
import org.aspose.slides.foss.ILayoutSlide;
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 CreatePresentation {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
// --- Slide 1: title shape ---
ISlide slide1 = prs.getSlides().get(0);
IAutoShape title = slide1.getShapes().addAutoShape(
ShapeType.RECTANGLE, 40, 40, 640, 80
);
ITextFrame tf = title.addTextFrame("Q1 Results: Executive Summary");
IPortionFormat fmt = tf.getParagraphs().get(0)
.getPortions().get(0).getPortionFormat();
fmt.setFontHeight(32);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(
Color.fromArgb(255, 0, 70, 127)
);
// --- Slide 2: table ---
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);
ITable table = slide2.getShapes().addTable(
40, 40,
new double[]{200.0, 120.0, 120.0},
new double[]{40.0, 40.0, 40.0}
);
String[] headers = {"Region", "Revenue", "Growth"};
String[][] data = {
{"North", "$1.2M", "+8%"},
{"South", "$0.9M", "+4%"},
};
for (int col = 0; col < headers.length; col++) {
table.getRows().get(0).get(col).getTextFrame().setText(headers[col]);
}
for (int row = 0; row < data.length; row++) {
for (int col = 0; col < data[row].length; col++) {
table.getRows().get(row + 1).get(col)
.getTextFrame().setText(data[row][col]);
}
}
prs.save("q1-results.pptx", SaveFormat.PPTX);
}
System.out.println("Saved q1-results.pptx");
}
}Häufige Probleme und Lösungen
IllegalStateException: Presentation already disposed
Sie rufen Methoden auf eine Presentation Objekt, nachdem der Block mit den Ressourcen ausgelaufen ist. Halten Sie immer alle Arbeiten im Block.
UnsupportedOperationException bei der Sparung
Dies geschieht, wenn ein anderes Format als PPTX gespeichert wird oder wenn eine nicht unterstützte Funktion (wie Diagramme oder Animationen) verwendet wird.
Form erscheint außerhalb des sichtbaren Schiebetreffs.
Die Vorlageformat-Slide ist 720 x 540 Punkte. Halten Sie die x + width <= 720 und . y + height <= 540.
Häufig gestellte Fragen
Was ist die Standard-Slidegröße?
Eine neue Presentation() erstellt Diapositive in der Standardgröße 10 x 7,5 Zoll (720 x 540 Punkte). Die Änderung der Diapotheken ist noch nicht unterstützt.
Kann ich mehr als eine Folie hinzufügen?
Ja, rufen Sie an. prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0)) Ein leerer Diagramm hinzuzufügen und nach Index zugänglich zu machen:
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);Kann ich eine vorhandene Datei öffnen und Bilder hinzufügen?
- Ja , das ist er .:
try (Presentation prs = new Presentation("existing.pptx")) {
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
prs.save("existing.pptx", SaveFormat.PPTX);
}In welche Formate kann ich speichern?
Nur: SaveFormat.PPTX wird unterstützt. Export in PDF, HTML, SVG oder Bilder ist nicht verfügbar.