Introductie

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx bestanden volledig in Java, zonder afhankelijkheid van Microsoft Office of enige propriëtaire runtime.

De bibliotheek is ontworpen voor ontwikkelaars die programmatisch presentatiebestanden moeten genereren of manipuleren: het automatiseren van dia‑sets vanuit data, het extraheren van tekst en metadata uit geüploade PPTX‑bestanden, het bouwen van rapportage‑pijplijnen op basis van presentaties, of het integreren van presentatie‑creatie in Spring Boot‑applicaties. Omdat aspose-slides-foss is pure Java, het wordt identiek ingezet op Windows, macOS, Linux en Docker‑containers.

Belangrijkste functies

  • 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 na new Presentation().
  • AutoShapes, Tabellen en Connectors: Voeg vormen in via slide.getShapes().addAutoShape(), tabelgegevens via slide.getShapes().addTable(), en visuele connectors tussen vormen via slide.getShapes().addConnector().
  • Rich‑textopmaak: Formatteer tekst op teken‑niveau met PortionFormat: lettergrootte, vet, cursief, onderstrepen en ARGB‑kleur via FillType.SOLID en ColorFormat.
  • Vultypen: Toepassen FillType.SOLID, GRADIENT, PATTERN, of PICTURE vult elke vorm.
  • Visuele effecten: Buitenste schaduw, gloed, zachte rand, vervaging, reflectie en binnenste schaduw via shape.getEffectFormat().
  • 3D formatting: Afschuining, camera, lichtinstallatie, 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: Insluiten vanaf bestandspad, bytes, of InputStream.
  • Documenteigenschappen: Lees en schrijf core-, app- en aangepaste eigenschappen.

Aan de slag

Voeg de Maven-dependency 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 uw 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 altijd Presentation 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 gooien UnsupportedOperationException in deze release:

  • Grafieken, SmartArt en OLE-objecten
  • Animaties en dia‑overgangen
  • Exporteren naar PDF, HTML, SVG of afbeeldingsformaten
  • Hyperlinks, actieregels, 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 gemaakt veilig round‑tripen.

Zie ook