Inleiding
Aspose.Slides FOSS voor Java is een gratis, open-source bibliotheek die Java-ontwikkelaars in staat stelt PowerPoint presentaties te maken en te manipuleren zonder enige afhankelijkheid van Microsoft Office. De bibliotheek wordt geleverd onder het org.aspose.slides.foss pakket en richt zich op Java 21 en hoger.
Het project wordt uitgebracht onder de MIT license, zodat je het zowel in persoonlijke als commerciële projecten kunt gebruiken zonder kosten en zonder API sleutel. Het biedt klassen voor dia’s, vormen, tekst, tabellen, afbeeldingen, opmerkingen en documenteigenschappen, ondersteund door directe manipulatie van het Office Open XML pakketformaat.
Met 273 klassen, meer dan 2,600 methoden en 42 enumeraties, de kern API omvat de bouwstenen die je nodig hebt om presentatieworkflows te automatiseren in elke Java-applicatie.
Wat er inbegrepen is
Presentatielevenscyclus
De Presentation klasse is het toegangspunt voor elke bewerking. Je kunt een lege presentatie maken en het resultaat opslaan op schijf of naar een OutputStream in verschillende formaten. De klasse implementeert AutoCloseable, zodat hij natuurlijk werkt met try-with-resources-blokken.
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation pres = new Presentation()) {
// A new presentation starts with one blank slide
System.out.println("Slides: " + pres.getSlides().size());
pres.save("output.pptx", SaveFormat.PPTX);
}
Dia-beheer
SlideCollection stelt u in staat lege dia’s toe te voegen met addEmptySlide(), bestaande dia’s te dupliceren met addClone(), dia’s in te voegen op een specifieke index met insertEmptySlide(), dia’s te verwijderen op referentie of index, en over de collectie te itereren.
try (Presentation pres = new Presentation()) {
var layout = pres.getLayoutSlides().get(0);
pres.getSlides().addEmptySlide(layout);
pres.getSlides().addClone(pres.getSlides().get(0));
System.out.println("Total slides: " + pres.getSlides().size());
}
Vormen en AutoShapes
De AutoShape klasse vertegenwoordigt het meest voorkomende tekenbare object op een dia. U maakt vormen aan via IShapeCollection.addAutoShape(), waarbij u een ShapeType constante opgeeft (zoals ShapeType.RECTANGLE) en positiecoördinaten. Elke AutoShape biedt een TextFrame voor tekstinhoud en een FillFormat voor visuele styling.
try (Presentation pres = new Presentation()) {
var slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 300, 100, false);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
System.out.println(tf.getText());
}
Tekst en alinea’s
Rijke tekst wordt gemodelleerd als een hiërarchie van TextFrame, ParagraphCollection, Paragraph, PortionCollection en Portion objecten. U kunt platte tekst op een frame direct instellen met TextFrame.setText(), of meervoudige alinea’s opbouwen door individuele Portion instanties met verschillende opmaak toe te voegen.
try (Presentation pres = new Presentation()) {
var slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes()
.addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
ITextFrame tf = shape.addTextFrame("First run ");
Portion extra = new Portion("second run");
tf.getParagraphs().get(0).getPortions().add(extra);
System.out.println(tf.getText());
}
Documenteigenschappen
De DocumentProperties klasse biedt standaard metagegevensvelden zoals titel, auteur, onderwerp, trefwoorden, categorie en tijdstempels. Eigenschappen worden opgeslagen in de PPTX-core- en uitgebreide eigenschapsdelen en blijven behouden tijdens een volledige opslaan/herladen-cyclus.
try (Presentation pres = new Presentation()) {
IDocumentProperties props = pres.getDocumentProperties();
props.setTitle("Quarterly Report");
props.setAuthor("Engineering Team");
pres.save("report.pptx", SaveFormat.PPTX);
}
Opmerkingen en annotaties
Het commentaarsubsysteem omvat CommentAuthorCollection en CommentCollection. Je kunt auteurs toevoegen, opmerkingen koppelen aan specifieke dia’s en posities, en bestaande annotaties teruglezen. Opmerkingsgegevens worden bewaard in de commentaaronderdelen van het PPTX-pakket en overleven round-trip opslaan/herladen cycli.
Snelstart
Voeg de volgende Maven-dependency toe aan je pom.xml om Aspose.Slides FOSS voor Java in je project op te nemen:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>26.7.0</version>
</dependency>Maak vervolgens een presentatie aan en sla deze op:
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
public class QuickStart {
public static void main(String[] args) {
try (Presentation pres = new Presentation()) {
var slide = pres.getSlides().get(0);
// Add a title shape
IAutoShape title = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 30, 600, 60, false);
title.addTextFrame("Aspose.Slides FOSS for Java");
// Add a content shape
IAutoShape body = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 120, 600, 300, false);
body.addTextFrame(
"This presentation was created entirely in Java "
+ "using a free, open-source library.");
pres.save("quick-start.pptx", SaveFormat.PPTX);
}
}
}
Ondersteunde formaten
De SaveFormat-enumeratie definieert elk uitvoerformaat dat de bibliotheek kan schrijven. De onderstaande tabel geeft de bevestigde vermeldingen weer.
| Formaat | Extensie | Schrijven |
|---|---|---|
| PPTX | .pptx | Ja |
| PPTM | .pptm | Planned |
| PPSX | .ppsx | Planned |
| PPSM | .ppsm | Planned |
| POTX | .potx | Planned |
| POTM | .potm | Planned |
| ODP | .odp | Planned |
| OTP | .otp | Planned |
| FODP | .fodp | Planned |
| PPT | .ppt | Planned |
| PPS | .pps | Planned |
| POT | .pot | Planned |
| Planned | ||
| XPS | .xps | Planned |
| HTML | .html | Planned |
| HTML5 | .html | Planned |
| SVG | .svg | Planned |
| TIFF | .tiff | Planned |
| PNG | .png | Planned |
| JPEG | .jpeg | Planned |
| BMP | .bmp | Planned |
| GIF | .gif | Planned |
| MD | .md | Planned |
Opmerking: PPTX-export is volledig geïmplementeerd. Andere SaveFormat enum-waarden (PPT, ODP, PDF, PNG, enz.) zijn gedefinieerd voor voorwaartse compatibiliteit en zullen functioneel zijn in toekomstige releases; door ze door te geven aan save() produceert momenteel PPTX-uitvoer.
Open source & licenties
Aspose.Slides FOSS voor Java wordt gedistribueerd onder de MIT-licentie. De volledige broncode is beschikbaar op GitHub op Aspose.Slides-FOSS-for-Java. Je bent vrij om de bibliotheek te gebruiken, te wijzigen en te herdistribueren in elk project zonder royalty’s of licentiesleutels.
Aan de slag
Klaar om dieper te duiken? Hier zijn bronnen om je op weg te helpen:
- Developer Guide – walkthroughs en tutorials voor elk functiegebied
- Knowledge Base – how-to artikelen en veelgestelde vragen
- API Reference – volledige klasse- en methoddocumentatie