Inleiding
Aspose.Slides FOSS voor Java is nu beschikbaar op Maven Central: een gratis, MIT-gelicentieerde bibliotheek voor het maken, lezen en bewerken van PowerPoint .pptx-bestanden volledig in Java, zonder afhankelijkheid van Microsoft Office of enige propriëtaire runtime.
De bibliotheek is ontworpen voor ontwikkelaars die programmatisch presentatiesbestanden moeten genereren of manipuleren: het automatiseren van dia‑sets vanuit gegevens, het extraheren van tekst en metadata uit geüploade PPTX‑bestanden, het bouwen van op presentaties gebaseerde rapportage‑pijplijnen, of het integreren van presentatie‑creatie in Spring Boot‑toepassingen. Omdat aspose-slides-foss pure Java is, wordt het identiek ingezet op Windows, macOS, Linux en Docker‑containers.
Belangrijkste kenmerken
- Volledige round‑trip PPTX‑ondersteuning: Open elk
.pptx‑bestand, wijzig de inhoud en sla het opnieuw op zonder onbekende XML‑onderdelen te verliezen die de bibliotheek nog niet begrijpt. - Dia‑beheer: Voeg dia’s toe, verwijder ze en doorloop ze met behulp van
prs.getSlides(); de presentatie begint met één lege dia nanew Presentation(). - AutoShapes, tabellen en connectoren: Voeg vormen in via
slide.getShapes().addAutoShape(), tabelgegevens viaslide.getShapes().addTable()en visuele connectoren tussen vormen viaslide.getShapes().addConnector(). - Rich‑tekstopmaak: Formatteer tekst op teken‑niveau met
PortionFormat: lettergrootte, vet, cursief, onderstrepen en ARGB‑kleur viaFillType.SOLIDenColorFormat. - Vultypen: Pas
FillType.SOLID,GRADIENT,PATTERNofPICTUREvullingen toe op elke vorm. - Visuele effecten: Buitenste schaduw, gloed, zachte rand, vervaging, reflectie en binnenste schaduw via
shape.getEffectFormat(). - 3D‑opmaak: Afschuining, camera, lichtopstelling, materiaal en extrusiediepte via
shape.getThreeDFormat(). - Sprekersnotities: Voeg notitietekst toe aan elke dia via
getNotesSlideManager().addNotesSlide(). - Gegroepeerde opmerkingen: Voeg opmerkingen toe met auteursmetadata en dia‑positie.
- Ingesloten afbeeldingen: Voeg in vanuit bestandspad, bytes of
InputStream. - Documenteigenschappen: Lees en schrijf kern‑, app‑ en aangepaste eigenschappen.
Aan de slag
Voeg de Maven‑afhankelijkheid toe. Java 21 of hoger is vereist.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
Maak je eerste presentatie met een vorm en sla deze op:
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.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
public class HelloSlides {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx");
}
}
}
Gebruik Presentation altijd binnen een try-with-resources‑blok; dit zorgt ervoor dat alle interne bronnen worden vrijgegeven wanneer het blok wordt verlaten.
Voorbeeld van Tekstopmaak
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.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()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(28);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
prs.save("formatted.pptx");
}
Huidige beperkingen
De volgende gebieden geven UnsupportedOperationException in deze release:
- Grafieken, SmartArt en OLE-objecten
- Animaties en diaovergangen
- Exporteren naar PDF, HTML, SVG of afbeeldingsformaten
- Hyperlinks, actiestellingen, VBA-macro’s en digitale handtekeningen
Onbekende XML-onderdelen die tijdens het laden worden aangetroffen, worden bij het opslaan letterlijk bewaard, zodat PPTX‑bestanden die door andere tools zijn geproduceerd veilig een round‑trip doorlopen.