Įvadas

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx failus visiškai Java, be jokios 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 pristatymų pagrindu veikiančius ataskaitų srautus arba įterpti pristatymo kūrimą į Spring Boot programas. Kadangi aspose-slides-foss yra grynas Java, jis diegiamas identiškai Windows, macOS, Linux ir Docker konteineriuose.

Pagrindinės savybės

  • Pilnas round‑trip PPTX palaikymas: Atidaryti bet kurį .pptx failą, modifikuoti jo turinį ir išsaugoti atgal neprarandant nežinomų XML dalių, kurių biblioteka dar nesupranta.
  • Skaidrių valdymas: Pridėti, pašalinti ir peržvelgti skaidres naudojant prs.getSlides(); pristatymas prasideda viena tuščia skaidre po new Presentation().
  • AutoShapes, lentelės ir jungikliai: Įterpti formas per slide.getShapes().addAutoShape(), lentelių duomenis per slide.getShapes().addTable(), ir vizualinius jungiklius tarp formų per slide.getShapes().addConnector().
  • Rich text formatting: Formatuoti tekstą charakterio lygiu su PortionFormat: šrifto dydis, pusjuodis, kursyvas, pabraukimas ir ARGB spalva per FillType.SOLID ir ColorFormat.
  • Užpildymo tipai: Taikyti FillType.SOLID, GRADIENT, PATTERN, arba PICTURE užpildo bet kokią formą.
  • Vizualiniai efektai: Išorinis šešėlis, švytėjimas, minkšta kraštinė, išsklaidyti, atspindys ir vidinis šešėlis per shape.getEffectFormat().
  • 3D formatting: Aplinkas, kamera, apšvietimo įranga, medžiaga ir išskyrimo gylis per shape.getThreeDFormat().
  • Kalbėtojo pastabos: Prisegti pastabų tekstą prie kiekvienos skaidrės per getNotesSlideManager().addNotesSlide().
  • Gijų komentarai: Pridėti komentarus su autoriaus metaduomenimis ir skaidrės padėtimi.
  • Įterpti paveikslėliai: Įterpti iš failo kelio, baitų arba InputStream.
  • Dokumento savybės: Skaityti ir rašyti branduolio, programos ir pasirinktines savybes.

Pradžia

Pridėkite Maven priklausomybę. Java 21 arba vėlesnis yra reikalingas.

<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 viduje try-with-resources bloko; tai užtikrina, kad visi vidiniai ištekliai būtų atlaisvinti, kai blokas išeina.

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 išmeta UnsupportedOperationException šiame leidime:

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

Nežinomos XML dalys, aptiktos įkėlimo metu, išsaugomos nepakitusiomis įrašymo metu, todėl kitų įrankių sukurtos PPTX bylos saugiai grįžta atgal.

Žr. taip pat