Uvod

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx datoteke u potpunosti u Java, bez zavisnosti od Microsoft Office-a ili bilo kojeg vlasničkog runtime-a.

Biblioteka je dizajnirana za programere koji trebaju programatski generisati ili manipulisati prezentacionim datotekama: automatizacija slajd setova iz podataka, izdvajanje teksta i metapodataka iz otpremljenih PPTX datoteka, izgradnja izveštajnih tokova zasnovanih na prezentacijama, ili ugradnja kreiranja prezentacija u Spring Boot aplikacije. Zato aspose-slides-foss je čisto Java, distribuira se identično na Windows, macOS, Linux i Docker kontejnerima.

Ključne karakteristike

  • Potpuna round‑trip podrška za PPTX: Otvorite bilo koji .pptx datoteku, izmenite njen sadržaj i sačuvajte je nazad bez gubitka nepoznatih XML delova koje biblioteka još ne razume.
  • Upravljanje slajdovima: Dodajte, uklonite i iterirajte slajdove koristeći prs.getSlides(); prezentacija počinje jednim praznim slajdom posle new Presentation().
  • AutoShapes, Tabele i Poveznice: Ubaci oblike putem slide.getShapes().addAutoShape(), tabelarne podatke putem slide.getShapes().addTable(), i vizuelne poveznice između oblika putem slide.getShapes().addConnector().
  • Obogaćeno formatiranje teksta: Formatiraj tekst na nivou karaktera pomoću PortionFormat: veličina fonta, podebljano, kurziv, podvučeno i ARGB boja putem FillType.SOLID i ColorFormat.
  • Vrste popunjavanja: Primeni FillType.SOLID, GRADIENT, PATTERN, ili PICTURE popunjava bilo koji oblik.
  • Vizuelni efekti: Spoljna senka, sjaj, mekana ivica, zamućenje, refleksija i unutrašnja senka putem shape.getEffectFormat().
  • 3D formatting: Izbočenje, kamera, svetlosni sistem, materijal i dubina ekstrudiranja putem shape.getThreeDFormat().
  • Napomene govornika: Priložite tekst napomena na svaki slajd putem getNotesSlideManager().addNotesSlide().
  • Komentari u nitima: Dodajte komentare sa metapodacima autora i položajem slajda.
  • Ugrađene slike: Ugradite iz putanje fajla, bajtova ili InputStream.
  • Svojstva dokumenta: Čitajte i pišite osnovna, aplikaciona i prilagođena svojstva.

Početak

Dodajte Maven zavisnost. Java 21 ili noviji je potreban.

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

Kreirajte svoju prvu prezentaciju sa oblikom i sačuvajte je:

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

Uvek koristite Presentation unutar try-with-resources bloka; ovo osigurava da se svi unutrašnji resursi oslobode kada blok završi.

Primer formatiranja teksta

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

Trenutna ograničenja

Sledeća područja bacaju UnsupportedOperationException u ovom izdanju:

  • Grafikoni, SmartArt i OLE objekti
  • Animacije i prelazi slajdova
  • Izvoz u PDF, HTML, SVG ili formate slika
  • Hiperveze, podešavanja akcija, VBA makroi i digitalni potpisi

Nepoznati XML delovi koji se pojave prilikom učitavanja čuvaju se doslovno prilikom čuvanja, tako da PPTX fajlovi proizvedeni drugim alatima sigurno prolaze kroz ciklus učitavanja i čuvanja.

Vidi takođe