Πώς να δημιουργήσετε παρουσιάσεις στο Java
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.
Βήμα προς βήμα οδηγός
Βήμα 1: Προσθέστε την εξάρτηση Maven
Προσθέστε το FOSS στο δικό σας pom.xml.Java 21 ή αργότερα απαιτείται.
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>26.7.0</version>
</dependency>Ελέγξτε την εγκατάσταση:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
prs.dispose();
System.out.println("Aspose.Slides FOSS ready");Βήμα 2: Εισαγωγή των απαιτούμενων τάξεων
Η εισαγωγή της Presentation Η τάξη και η SaveFormat Το ενοχλητικό είναι απαραίτητο για την εξοικονόμηση.
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;Όλες οι μόνιμες μορφές ζουν σε org.aspose.slides.foss.ShapeType.Η ΕΡΤ (FillType, NullableBool(Είναι επίσης σε org.aspose.slides.foss.
Βήμα 3: Δημιουργήστε μια παρουσίαση
Χρησιμοποιήστε new Presentation() και να το βάλει σε try-with πόρους. Μια νέα παρουσίαση ξεκινά με ένα άσπρο σάιτ.
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);
}Σημαντικό : Πάντα χρησιμοποιήστε try-with πόρους ή κλήσεις prs.dispose() Σε ένα τελικό μπλοκ. πόροι δεν θα απελευθερωθούν σωστά διαφορετικά.
Βήμα 4: Προσθήκη σε ένα Slide
Το πρώτο σάιτ είναι στο δείκτη 0. Μια άσπρη παρουσίαση έχει ακριβώς ένα σαλίτ.
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);
}Βήμα 5: Προσθέστε μια μορφή
Χρησιμοποιήστε slide.getShapes().addAutoShape() να προσθέσετε ένα AutoShape. οι παράμετροι είναι (shapeType, x, y, width, height) Όλα σε σημεία (1 σημείο = 1/72 ίντσες, το τυποποιημένο σάιτ είναι 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);
}Βήμα 6: Αποθηκεύστε την παρουσίαση
Κλήση prs.save(path, SaveFormat.PPTX) Πριν από την αποχώρηση του μπλοκ δοκιμής. το PPTX είναι η μόνη υποστηριζόμενη μορφή εξόδου.
prs.save("result.pptx", SaveFormat.PPTX);Το αρχείο γράφεται ατομικά. εάν εμφανιστεί ένα σφάλμα πριν από αυτή την κλήση, δεν δημιουργείται κανένα αρχικό εξώφυλλο.
ΕΠΙΛΗΜΑΤΙΚΟ ΔΡΑΣΤΗΡΙΟ ΠΡΟΒΛΕΜΟ
Το παρακάτω πρόγραμμα δημιουργεί μια παρουσίαση δύο σκιών με τη μορφή τίτλου στο πρώτο στίχο και έναν πίνακα στο δεύτερο.
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");
}
}Κοινά προβλήματα και τακτοποιήσεις
IllegalStateException: Presentation already disposed
Εσείς καλείτε μεθόδους σε ένα Presentation Το αντικείμενο μετά το μπλοκ δοκιμών-με πόρους έχει φύγει. Πάντα κρατήστε όλη την εργασία μέσα στο μπλόκο δοκίματος.
UnsupportedOperationException Όταν η εξοικονόμηση
Αυτό συμβαίνει όταν προσπαθείτε να αποθηκεύσετε μια μορφή διαφορετική από το PPTX, ή όταν χρησιμοποιείτε ένα μη υποστηριζόμενο χαρακτηριστικό (όπως χάρτες ή κινούμενα σχέδια).
Η μορφή εμφανίζεται έξω από την ορατή περιοχή της σκιής
Τα Slides είναι 720 x 540 σημεία κατά προεπιλογή. x + width <= 720 και y + height <= 540.
Συχνές ερωτήσεις
Ποιο είναι το default slide size;?
Μια νέα Presentation() δημιουργεί σκιές στο τυποποιημένο μέγεθος 10 x 7.5 ιντσών (720 x 540 σημεία). Η αλλαγή του μεγέθους της σκιασμής δεν υποστηρίζεται ακόμη σε αυτή την έκδοση.
Μπορώ να προσθέσω περισσότερα από ένα slide;?
Ναι, καλέστε prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0)) Για να προσθέσετε ένα άδειο σάιτ και να το αποκτήσετε πρόσβαση μέσω του δείκτη:
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);Μπορώ να ανοίξω ένα υπάρχον αρχείο και να προσθέσω σκιές;?
ΝΑΙ :
try (Presentation prs = new Presentation("existing.pptx")) {
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
prs.save("existing.pptx", SaveFormat.PPTX);
}Σε ποιες μορφές μπορώ να αποθηκεύσω;?
Μόνο SaveFormat.PPTX Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη σε αυτή την έκδοση.