Hvordan lage presentasjoner i Java
Aspose.Slides FOSS for Java lar deg lage PowerPoint-presentasjoner helt i Java uten avhengighet av Microsoft Office. Denne guiden viser hvordan du oppretter en ny presentasjon, legger til lysbilder og former, formaterer tekst og lagrer resultatet.
Trinn‑for‑trinn‑guide
Trinn 1: Legg til Maven‑avhengigheten
Legg til Aspose.Slides FOSS i din pom.xml. Java 21 eller nyere kreves.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Bekreft installasjonen:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
prs.dispose();
System.out.println("Aspose.Slides FOSS ready");Trinn 2: Importer de nødvendige klassene
Importer Presentation-klassen og SaveFormat-enumet som trengs for lagring.
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 shape-type‑konstanter finnes i org.aspose.slides.foss.ShapeType. Formaterings‑enum (FillType, NullableBool) er også i org.aspose.slides.foss.
Steg 3: Opprett en presentasjon
Bruk new Presentation() og pakk den inn i try‑with‑resources. En ny presentasjon starter med ett tomt lysbilde.
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);
}Viktig: Bruk alltid try-with-resources eller kall prs.dispose() i en finally‑blokk. Ressurser vil ellers ikke bli frigitt korrekt.
Trinn 4: Åpne et lysbilde
Den første lysbildet er på indeks 0. En tom presentasjon har nøyaktig ett lysbilde.
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);
}Steg 5: Legg til en form
Bruk slide.getShapes().addAutoShape() for å legge til en AutoShape. Parameterne er (shapeType, x, y, width, height), alle i punkter (1 punkt = 1/72 tomme; standard lysbilde er 720 × 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);
}Steg 6: Lagre presentasjonen
Kall prs.save(path, SaveFormat.PPTX) før try‑blokken avsluttes. PPTX er det eneste støttede outputformatet.
prs.save("result.pptx", SaveFormat.PPTX);Filen skrives atomisk; hvis en feil oppstår før dette kallet, opprettes ingen output‑fil.
Fullstendig fungerende eksempel
Følgende program oppretter en presentasjon med to lysbilder med en tittelform på det første lysbildet og en tabell på det andre.
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");
}
}Vanlige problemer og løsninger
IllegalStateException: Presentation already disposed
Du kaller metoder på et Presentation-objekt etter at try-with-resources-blokken har avsluttet. Hold alltid alt arbeid inne i try-blokken.
UnsupportedOperationException ved lagring
Dette oppstår når du prøver å lagre i et annet format enn PPTX, eller når du bruker en ikke‑støttet funksjon (for eksempel diagrammer eller animasjoner).
Formen vises utenfor det synlige lysbildeområdet
Lysbilder er 720 × 540 poeng som standard. Behold x + width <= 720 og y + height <= 540.
Ofte stilte spørsmål
Hva er standard lysbildestørrelse?
En ny Presentation() oppretter lysbilder i standardstørrelsen 10 × 7,5 tommer (720 × 540 punkt). Å endre lysbildestørrelsen støttes ikke ennå i denne utgaven.
Kan jeg legge til mer enn ett lysbilde?
Ja. Kall prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0)) for å legge til et tomt lysbilde og få tilgang til det ved indeks:
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);Kan jeg åpne en eksisterende fil og legge til lysbilder?
Ja:
try (Presentation prs = new Presentation("existing.pptx")) {
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
prs.save("existing.pptx", SaveFormat.PPTX);
}Hvilke formater kan jeg lagre til?
Kun SaveFormat.PPTX støttes. Eksport til PDF, HTML, SVG eller bilder er ikke tilgjengelig i denne utgaven.