Įvadas

Aspose.Slides FOSS for Java dabar prieinamas Maven Central: nemokama, MIT licencijuota biblioteka, skirta kurti, skaityti ir redaguoti PowerPoint .pptx failus tiesiogiai Java, be priklausomybės nuo Microsoft Office ar bet kokios nuosavybinės vykdymo aplinkos.

Biblioteka sukurta kūrėjams, kuriems reikia programiškai generuoti arba manipuliuoti pristatymo failais: automatizuoti skaidrių rinkinius iš duomenų, išgauti tekstą ir metaduomenis iš įkeltų PPTX failų, kurti pristatymo pagrindu veikiančias ataskaitų srauto linijas arba integruoti pristatymo kūrimą į Spring Boot programas. Kadangi aspose-slides-foss yra grynas Java, ji veikia identiškai Windows, macOS, Linux ir Docker konteineriuose.

Pagrindinės funkcijos

  • Visiškas PPTX palaikymas: Atidarykite bet kokį .pptx failą, keiskite jo turinį ir išsaugokite jį atgal neišmesdami nežinomų XML dalių, kurių biblioteka dar nesupranta.
  • Skaidrių valdymas: Pridėkite, pašalinkite ir peržiūrėkite skaidres naudodami prs.getSlides(); pristatymas prasideda viena tuščia skaidre po new Presentation().
  • AutoShape, lentelės ir jungikliai: Įterpkite formas per slide.getShapes().addAutoShape(), lentelės duomenis per slide.getShapes().addTable() ir vizualius jungiklius tarp formų per slide.getShapes().addConnector().
  • Turtingo teksto formatavimas: Formatuokite tekstą simbolio lygiu su PortionFormat: šrifto dydis, pusjuodis, kursyvas, pabraukimas ir ARGB spalva per FillType.SOLID ir ColorFormat.
  • Užpildo tipai: Pridėkite FillType.SOLID, GRADIENT, PATTERN arba PICTURE užpildus bet kuriai formai.
  • Vizualiniai efektai: Išorinis šešėlis, švytėjimas, minkštas kraštas, išblyškimas, atspindys ir vidinis šešėlis per shape.getEffectFormat().
  • 3D formatavimas: Nuožulnumas, kamera, apšvietimo įranga, medžiaga ir išsikišimo gylis per shape.getThreeDFormat().
  • Kalbėtojo pastabos: Pridėkite pastabų tekstą prie kiekvienos skaidrės per getNotesSlideManager().addNotesSlide().
  • Gijų komentarai: Pridėkite komentarus su autoriaus metaduomenimis ir skaidrės pozicija.
  • Įterpti paveikslėliai: Įterpkite iš failo kelio, baitų arba InputStream.
  • Dokumento savybės: Skaitykite ir rašykite pagrindines, programos ir pasirinktines savybes.

Pradžia

Pridėkite Maven priklausomybę. Reikalinga Java 21 arba vėlesnė.

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

Sukurkite savo pirmąją prezentaciją su forma ir išsaugokite ją:

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

Visada naudokite Presentation try-with-resources bloke; tai užtikrina, kad visi vidiniai ištekliai būtų atlaisvinti, kai blokas baigiamas.

Teksto formatavimo pavyzdys

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

Dabartiniai apribojimai

Šios sritys šioje versijoje išmeta UnsupportedOperationException:

  • Diagramų, SmartArt ir OLE objektų
  • Animacijos ir skaidrių perėjimai
  • Eksportavimas į PDF, HTML, SVG arba vaizdo formatus
  • Hipersaitai, veiksmų nustatymai, VBA makrokomandos ir skaitmeniniai parašai

Nežinomos XML dalys, su kuriomis susiduriama įkeliant, išsaugomos nepakitusiomis, todėl kitų įrankių sukurtos PPTX bylos saugiai grįžta atgal.

Žr. taip pat