Увод

Aspose.Slides FOSS for Java je besplatna, open‑source biblioteka koja omogućava Java programerima da kreiraju i manipulišu PowerPoint prezentacijama bez ikakve zavisnosti od Microsoft Office‑a. Biblioteka se distribuira u okviru org.aspose.slides.foss paketa i cilja Java 21 i novije verzije.

Projekat je objavljen pod MIT licencom, tako da ga možete koristiti i u ličnim i u komercijalnim projektima bez ikakvih troškova i bez API ključa. Pruža bogat objektni model za slajdove, oblike, tekst, tabele, slike, komentare i svojstva dokumenta, podržan direktnom manipulacijom Office Open XML paketskog formata.

Sa 273 klase, preko 2.600 metoda i 42 enumeracije, osnovni API pokriva građevinske blokove koje su vam potrebni za automatizaciju radnih tokova prezentacija u bilo kojoj Java aplikaciji.


Šta je uključeno

Životni ciklus prezentacije

Klasa Presentation je ulazna tačka za svaku operaciju. Možete kreirati praznu prezentaciju i sačuvati rezultat na disk ili u OutputStream u raznim formatima. Klasa implementira AutoCloseable, pa prirodno radi sa try‑with‑resources blokovima.

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

Upravljanje slajdovima

SlideCollection pruža potpunu kontrolu nad skupom slajdova. Možete dodati prazne slajdove pomoću addEmptySlide(), duplicirati postojeće slajdove pomoću addClone(), umetnuti slajdove na određeni indeks pomoću insertEmptySlide(), ukloniti slajdove po referenci ili indeksu, i iterirati kroz kolekciju.

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

Oblici i AutoOblici

Klasa AutoShape predstavlja najčešći objekt koji se može crtati na slajdu. Oblike kreirate putem IShapeCollection.addAutoShape(), navodeći konstantu ShapeType (kao što je ShapeType.RECTANGLE) i koordinate položaja. Svaki AutoShape izlaže TextFrame za tekstualni sadržaj i FillFormat za vizuelno stilizovanje.

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

Tekst i paragrafi

Rich text je modelisan kao hijerarhija objekata TextFrame, ParagraphCollection, Paragraph, PortionCollection i Portion. Možete postaviti običan tekst na okvir direktno pomoću TextFrame.setText(), ili izgraditi višestruke odlomke dodavanjem pojedinačnih instanci Portion sa različitim formatiranjem.

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

Својства документа

Klasa DocumentProperties izlaže standardna polja metapodataka kao što su naslov, autor, tema, ključne reči, kategorija i vremenski žigovi. Svojstva se čuvaju u PPTX jezgru i delovima proširenih svojstava i preživljavaju cikluse čuvanja/ponovnog učitavanja.

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

Komentari i napomene

Подсистем за коментаре укључује CommentAuthorCollection и CommentCollection. Можете додати ауторе, прикачити коментаре на одређене слајдове и позиције, и прочитати постојеће анотације. Подаци о коментарима се чувају у деловима ppt/commentAuthors.xml и ppt/comments/*.xml PPTX пакета.


Brzi početak

Dodajte Maven zavisnost u svoj pom.xml:

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

Zatim kreirajte i sačuvajte prezentaciju:

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

Подржани формати

Enumaracija SaveFormat definiše svaki izlazni format koji biblioteka može da piše. Tabela ispod navodi potvrđene unose.

FormatEkstenzijaPisanje
PPTX.pptxDa
PPTM.pptmDa
PPSX.ppsxDa
PPSM.ppsmDa
POTX.potxDa
POTM.potmDa
ODP.odpDa
OTP.otpDa
FODP.fodpDa
PPT.pptDa
PPS.ppsDa
POT.potDa
PDF.pdfDa
XPS.xpsDa
HTML.htmlDa
HTML5.htmlDa
SVG.svgDa
TIFF.tiffDa
PNG.pngDa
JPEG.jpegDa
BMP.bmpDa
GIF.gifDa
MD.mdDa

Formati navedeni iznad su potvrđeni ciljevi izvoza definisani u SaveFormat enumu.


Отворени извор и лиценцирање

Aspose.Slides FOSS za Java distribuira se pod MIT licencom. Potpuni izvorni kod je dostupan na GitHub‑u na adresi Aspose.Slides-FOSS-for-Java. Slobodno možete koristiti, menjati i redistribuirati biblioteku u bilo kom projektu bez tantijema ili licencnih ključeva.


Početak

Spremni da zaronite dublje? Evo resursa koji će vam pomoći da započnete: