Johdanto

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx tiedostot kokonaan Java-muodossa, ilman riippuvuutta Microsoft Officesta tai mistään omistusoikeudellisesta ajonaikaisesta ympäristöstä.

Kirjasto on suunniteltu kehittäjille, jotka tarvitsevat esitystiedostojen luomista tai muokkaamista ohjelmallisesti: diojen automaattinen luominen datasta, tekstin ja metatietojen poiminta ladatuista PPTX-tiedostoista, esityspohjaisten raportointiputkien rakentaminen tai esitysten luomisen upottaminen Spring Boot -sovelluksiin. Koska aspose-slides-foss on puhdas Java, se asennetaan identtisesti Windowsiin, macOSiin, Linuxiin ja Docker-säilöihin.

Keskeiset ominaisuudet

  • Täysi round-trip -tuki PPTX:lle: Avaa mikä tahansa .pptx tiedosto, muokkaa sen sisältöä ja tallenna se takaisin menettämättä tuntemattomia XML-osia, joita kirjasto ei vielä ymmärrä.
  • Diojen hallinta: Lisää, poista ja käy dioja läpi käyttäen prs.getSlides(); esitys alkaa yhdellä tyhjällä dialla sen jälkeen new Presentation().
  • AutoShapes, taulukot ja liittimet: Lisää muotoja via slide.getShapes().addAutoShape(),: taulukkomuotoista dataa via slide.getShapes().addTable(),: ja visuaalisia liittimiä muotojen välillä via slide.getShapes().addConnector().
  • : Rikastekstin muotoilu: Muotoile tekstiä merkkitasolla käyttäen PortionFormat: fonttikokoa, lihavointia, kursiivia, alleviivausta ja ARGB-väriä via FillType.SOLID : ja ColorFormat.
  • : Täyttötyypit: Käytä FillType.SOLID, GRADIENT, PATTERN, tai PICTURE täyttää mihin tahansa muotoon.
  • Visuaaliset tehosteet: Ulkoinen varjo, hehku, pehmeä reuna, sumennus, heijastus ja sisäinen varjo kautta shape.getEffectFormat().
  • 3D formatting: Viistokulma, kamera, valon asennus, materiaali ja ulostuksen syvyys kautta shape.getThreeDFormat().
  • Puhujan muistiinpanot: Liitä muistiinpanoteksti jokaiselle diassa kautta getNotesSlideManager().addNotesSlide().
  • Ketjutetut kommentit: Lisää kommentteja tekijän metatiedoilla ja dian sijainnilla.
  • Upotetut kuvat: Upota tiedostopolusta, tavuista tai InputStream.
  • Asiakirjan ominaisuudet: Lue ja kirjoita ydin-, sovellus- ja mukautetut ominaisuudet.

Aloittaminen

Lisää Maven‑riippuvuus. Java 21 tai uudempi vaaditaan.

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

Luo ensimmäinen esityksesi muotoa käyttäen ja tallenna se:

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");
        }
    }
}

Käytä aina Presentation try-with-resources-lohkon sisällä; tämä varmistaa, että kaikki sisäiset resurssit vapautetaan, kun lohko päättyy.

Tekstin muotoiluesimerkki

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");
}

Nykyiset rajoitukset

Seuraavat alueet heittävät UnsupportedOperationException tässä julkaisussa:

  • Kaaviot, SmartArt ja OLE-objektit
  • Animaatiot ja dian siirtymät
  • Vienti PDF-, HTML-, SVG- tai kuvamuotoihin
  • Hyperlinkit, toimintoasetukset, VBA-makrot ja digitaaliset allekirjoitukset

Latauksen aikana havaitut tuntemattomat XML-osat säilytetään tarkasti tallennettaessa, joten muiden työkalujen tuottamat PPTX-tiedostot kulkevat turvallisesti läpi.

Katso myös