Introducere

Aspose.Slides FOSS for Java is a free, open-source library that lets Java developers create and manipulate PowerPoint presentations without any dependency on Microsoft Office. The library ships under the org.aspose.slides.foss pachet și ținte Java 21 și mai sus.

Proiectul este eliberat sub licența MIT, astfel încât să-l puteți utiliza atât în proiecte personale cât și comerciale fără costuri și fără cheie API. Acesta oferă un model obiect bogat pentru diapozitive, forme, text, tabele, imagini, comentarii și proprietățile documentelor, susținut de manipularea directă a formatului pachetului Office Open XML .

Cu 273 de clase, peste 2.600 metode și 42 enumerări, API-ul central acoperă blocuri de construcție necesare pentru a automatiza fluxurile de lucru ale prezentării în orice aplicație Java.


Ce înseamnă?

Prezentare Ciclul de viață

În ceea ce priveşte Presentation class este punctul de intrare pentru fiecare operațiune. Puteți crea o prezentare goală și salva rezultatul pe disc sau la un OutputStream În mod normal, această clasă implementează un format de formare diferit. AutoCloseable, deci funcționează în mod natural cu blocuri de încercare-cu resurse.

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation pres = new Presentation()) {
    // A new presentation starts with one blank slide
    System.out.println("Slides: " + pres.getSlides().size());
    pres.save("output.pptx", SaveFormat.PPTX);
}

Gestionarea diapozitivelor

SlideCollection oferă control complet asupra platoului de diapozitive. Puteți adăuga diapositive goale cu addEmptySlide(), duplicarea diapozitivelor existente cu addClone(), inserarea diapozitivelor la un anumit index cu: insertEmptySlide(), elimina diapozitivele după referință sau index și iterează colecția.

try (Presentation pres = new Presentation()) {
    ILayoutSlide layout = pres.getLayoutSlides().get(0);
    pres.getSlides().addEmptySlide(layout);
    pres.getSlides().addClone(pres.getSlides().get(0));
    System.out.println("Total slides: " + pres.getSlides().size());
}

Forme și AutoForme

În ceea ce priveşte AutoShape clasa reprezintă cel mai comun obiect desenabil pe un diapozitiv. IShapeCollection.addAutoShape(), care specifică o ShapeType constantă (cum ar fi: ShapeType.RECTANGLE) şi coordonatele de poziţie. AutoShape expune o TextFrame pentru conținutul de text și a FillFormat pentru stilul vizual.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 300, 100, false);
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
    System.out.println(tf.getText());
}

Textul și paragrafele

Textul bogat este modelat ca o ierarhie a: TextFrame, ParagraphCollection, Paragraph, PortionCollection, și Portion Obiecte. Puteți seta text simplu pe un cadru direct cu TextFrame.setText(), sau construiți paragrafe multi-run prin adăugarea individual Portion Instanțe cu formatare distinctă.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes()
        .addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
    ITextFrame tf = shape.addTextFrame("First run ");
    Portion extra = new Portion("second run");
    tf.getParagraphs().get(0).getPortions().add(extra);
    System.out.println(tf.getText());
}

Proprietăți ale documentului

În ceea ce priveşte DocumentProperties clasa expune câmpurile standard de metadate, cum ar fi titlul, autorul, subiectul , cuvintele cheie, categoria și timestamp. Proprietățile persistă în partea PPTX core și proprietăți extinsă și supraviețuiesc ciclurilor de salvare / relocare rotundă.

try (Presentation pres = new Presentation()) {
    IDocumentProperties props = pres.getDocumentProperties();
    props.setTitle("Quarterly Report");
    props.setAuthor("Engineering Team");
    pres.save("report.pptx", SaveFormat.PPTX);
}

Comentarii și observații

Subsistemul de observații include: CommentAuthorCollection și de: CommentCollection. Puteți adăuga autori, atașa comentarii la diapozitive și poziții specifice și citi înapoi anotațiile existente. Datele de comentariu sunt stocate în sistemul de date al Google Analytics. ppt/commentAuthors.xml și de: ppt/comments/*.xml părți ale pachetului PPTX.


Început rapid

Adăugaţi dependenţa Maven la dvs. pom.xml:

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

Apoi creați și salvați o prezentare:

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;

public class QuickStart {
    public static void main(String[] args) {
        try (Presentation pres = new Presentation()) {
            ISlide slide = pres.getSlides().get(0);

            // Add a title shape
            IAutoShape title = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 30, 600, 60, false);
            title.addTextFrame("Aspose.Slides FOSS for Java");

            // Add a content shape
            IAutoShape body = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 120, 600, 300, false);
            body.addTextFrame(
                "This presentation was created entirely in Java "
                + "using a free, open-source library.");

            pres.save("quick-start.pptx", SaveFormat.PPTX);
        }
    }
}

Formatele suportate

În ceea ce priveşte SaveFormat enumeration definește fiecare format de ieșire pe care biblioteca îl poate scrie. Tabelul de mai jos listează intrările confirmate.

FormatulExtindereScrie .
PPTX.pptxDa, sunt.
PPTM.pptmPlanificată
PPSX.ppsxPlanificată
PPSM.ppsmPlanificată
POTX.potxPlanificată
POTM.- Potm.Planificată
ODP.odpPlanificată
OTP.otpPlanificată
FODP.fodpPlanificată
PPT.pptPlanificată
PPS.ppsPlanificată
POT.potPlanificată
PDF.pdfPlanificată
XPS.xpsPlanificată
HTML.html (în limba engleză)Planificată
HTML5.html (în limba engleză)Planificată
SVG.svgPlanificată
TIFF.- Nu , nu .Planificată
PNG.pngPlanificată
JPEG.jpegPlanificată
BMP.bmpPlanificată
GIF.gifPlanificată
MD.mdPlanificată

Notă: În prezent, este implementată doar exportul PPTX. Există alte valori de format în sistemele de date ale PCP și PSD. SaveFormat În plus, în cazul în care un sistem de securitate este disponibil pentru compatibilitate cu viitorul, nu există încă o soluţie funcţională. save() metoda produce întotdeauna ieșire PPTX, indiferent de parametrul formatului.


Open Source & Licențiere

Aspose.Slides FOSS for Java is distributed under the MIT license. The full source code is available on GitHub at Aspose.Slides-FOSS-for-Java.Sunteți liberi să utilizați, modificați și redistribuiți biblioteca în orice proiect fără royalty sau cheie de licență.


Cum să începem?

Sunt aici resurse care te vor ajuta să începi: