Introducere

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fișiere complet în Java, fără nicio dependență de Microsoft Office sau de vreun runtime proprietar.

Biblioteca este concepută pentru dezvoltatori care trebuie 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 pur Java, se implementează identic pe Windows, macOS, Linux și containere Docker.

Caracteristici cheie

  • Suport complet round‑trip PPTX: Deschide orice .pptx fișier, modifică conținutul său și salvează-l înapoi fără a pierde părțile XML necunoscute pe care biblioteca nu le înțelege încă.
  • Gestionarea diapozitivelor: Adaugă, elimină și iterează diapozitivele utilizând prs.getSlides(); prezentarea începe cu un diapozitiv gol după new Presentation().
  • AutoForme, Tabele și Conectori: Inserează 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, cursiv, subliniere și culoare ARGB prin FillType.SOLID și ColorFormat.
  • Tipuri de umplere: Aplicați FillType.SOLID, GRADIENT, PATTERN, sau PICTURE umpleri la orice formă.
  • Efecte vizuale:Umbră exterioară, strălucire, margine moale, estompare, reflexie și umbră interioară prin shape.getEffectFormat().
  • 3D formatting:Bisel, cameră, echipament de iluminare, material și adâncime de extrudare prin shape.getThreeDFormat().
  • Note ale prezentatorului:Atașează textul notelor la fiecare diapozitiv prin getNotesSlideManager().addNotesSlide().
  • Comentarii în fir:Adaugă comentarii cu metadatele autorului și poziția diapozitivului.
  • Imagini încorporate:Încorporează din calea fișierului, bytes sau InputStream.
  • Proprietăți ale documentului:Citește și scrie proprietăți de bază, ale aplicației și personalizate.

Începeți

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

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

Creați prima prezentare cu o formă și salvați-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");
        }
    }
}

Folosește întotdeauna Presentation în interiorul unui bloc try-with-resources; acest lucru asigură că toate resursele interne sunt eliberate când blocul se închide.

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 aruncă 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
  • Hiperlinkuri, 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 exact la salvare, astfel încât fișierele PPTX produse de alte instrumente să poată fi reutilizate în siguranță.

Vezi și