Introduzione
Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx file interamente in Java, senza dipendenze da Microsoft Office o da alcun runtime proprietario.
La libreria è progettata per gli sviluppatori che hanno bisogno di generare o manipolare file di presentazione in modo programmatico: automatizzare deck di diapositive dai dati, estrarre testo e metadati da file PPTX caricati, costruire pipeline di reporting basate su presentazioni, o incorporare la creazione di presentazioni nelle applicazioni Spring Boot. Perché aspose-slides-foss è puro Java, si distribuisce identicamente su Windows, macOS, Linux e container Docker.
Caratteristiche principali
- Supporto completo round‑trip per PPTX: Apri qualsiasi
.pptxfile, modifica il suo contenuto e salvalo nuovamente senza perdere le parti XML sconosciute che la libreria non comprende ancora. - Gestione delle diapositive: Aggiungi, rimuovi e itera le diapositive usando
prs.getSlides(); la presentazione inizia con una diapositiva vuota doponew Presentation(). - AutoShape, Tabelle e Connettori: Inserisci forme tramite
slide.getShapes().addAutoShape(), dati tabulari tramiteslide.getShapes().addTable(), e connettori visivi tra forme tramiteslide.getShapes().addConnector(). - Formattazione di testo avanzata: Formatta il testo a livello di carattere con
PortionFormat: dimensione del carattere, grassetto, corsivo, sottolineato e colore ARGB tramiteFillType.SOLIDeColorFormat. - Tipi di riempimento: Applica
FillType.SOLID,GRADIENT,PATTERN, oPICTUREriempie qualsiasi forma. - Effetti visivi: Ombra esterna, bagliore, bordo morbido, sfocatura, riflessione e ombra interna tramite
shape.getEffectFormat(). - 3D formatting: Smusso, fotocamera, impianto di luci, materiale e profondità di estrusione tramite
shape.getThreeDFormat(). - Note del relatore: Allega il testo delle note a ogni diapositiva tramite
getNotesSlideManager().addNotesSlide(). - Commenti a thread: Aggiungi commenti con metadati dell’autore e posizione della diapositiva.
- Immagini incorporate: Incorpora da percorso file, byte o
InputStream. - Proprietà del documento: Leggi e scrivi le proprietà core, app e personalizzate.
Iniziare
Aggiungi la dipendenza Maven. Java 21 o successivo è richiesto.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
Crea la tua prima presentazione con una forma e salvala:
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");
}
}
}
Usa sempre Presentation all’interno di un blocco try-with-resources; ciò garantisce che tutte le risorse interne vengano rilasciate quando il blocco termina.
Esempio di formattazione del testo
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");
}
Limitazioni attuali
Le seguenti aree sollevano UnsupportedOperationException in questa versione:
- Grafici, SmartArt e oggetti OLE
- Animazioni e transizioni delle diapositive
- Esporta in PDF, HTML, SVG o formati immagine
- Collegamenti ipertestuali, impostazioni di azione, macro VBA e firme digitali
Le parti XML sconosciute incontrate durante il caricamento vengono preservate alla lettera al salvataggio, così i file PPTX prodotti da altri strumenti possono essere riutilizzati in modo sicuro.