Introducere

Aspose.Slides FOSS pentru Java este acum disponibil pe Maven Central: o bibliotecă gratuită, licențiată MIT, pentru crearea, citirea și editarea fișierelor PowerPoint .pptx în întregime în Java, fără dependență de Microsoft Office sau de orice runtime proprietar.

Biblioteca este concepută pentru dezvoltatori care au nevoie să genereze sau să manipuleze fișiere de prezentare programatic: să automatizeze seturi de diapozitive din date, să extragă text și metadate din fișiere PPTX încărcate, să construiască fluxuri de raportare bazate pe prezentări sau să încorporeze crearea de prezentări în aplicații Spring Boot. Deoarece aspose-slides-foss este Java pur, se implementează identic pe Windows, macOS, Linux și containere Docker.

Caracteristici principale

  • Suport complet round-trip PPTX: Deschideți orice fișier .pptx, modificați conținutul său și salvați-l înapoi fără a pierde părțile XML necunoscute pe care biblioteca nu le înțelege încă.
  • Gestionarea diapozitivelor: Adăugați, eliminați și iterați diapozitivele utilizând prs.getSlides(); prezentarea începe cu un diapozitiv gol după new Presentation().
  • AutoShape-uri, Tabele și Conectori: Inserare forme prin slide.getShapes().addAutoShape(), date tabulare prin slide.getShapes().addTable() și conectori vizuali între forme prin slide.getShapes().addConnector().
  • Formatare text îmbogățit: Formatați textul la nivel de caracter cu PortionFormat: dimensiune font, îngroșat, italic, subliniere și culoare ARGB prin FillType.SOLID și ColorFormat.
  • Tipuri de umplere: Aplicați umpleri FillType.SOLID, GRADIENT, PATTERN sau PICTURE oricărei forme.
  • Efecte vizuale: Umbra exterioară, strălucire, margine moale, estompare, reflexie și umbra interioară prin shape.getEffectFormat().
  • Formatare 3D: Bisel, cameră, sistem de iluminare, material și adâncime de extrudare prin shape.getThreeDFormat().
  • Note pentru vorbitor: Atașați textul notelor la fiecare diapozitiv prin getNotesSlideManager().addNotesSlide().
  • Comentarii în lanț: Adăugați comentarii cu metadate ale autorului și poziția diapozitivului.
  • Imagini încorporate: Încorporați din calea fișierului, din octeți sau InputStream.
  • Proprietăți ale documentului: Citiți și scrieți proprietăți de bază, aplicație și proprietăți personalizate.

Începeți

Adăugați dependența Maven. Este necesar Java 21 sau o versiune ulterioară.

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

Creează prima ta prezentare cu o formă și salveaz‑o:

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

Utilizați întotdeauna Presentation în interiorul unui bloc try-with-resources; acest lucru asigură eliberarea tuturor resurselor interne când blocul se încheie.

Exemplu de formatare a textului

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

Limitări curente

Următoarele zone generează UnsupportedOperationException în această versiune:

  • Grafice, SmartArt și obiecte OLE
  • Animații și tranziții de diapozitiv
  • Export în PDF, HTML, SVG sau formate de imagine
  • Legături hipertext, setări de acțiune, macro-uri VBA și semnături digitale

Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel încât fișierele PPTX produse de alte instrumente să poată fi reutilizate în siguranță.

Vezi și