1. Prodotti
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS per Java

Crea, leggi e modifica presentazioni PowerPoint da Java — gratuito e open source, senza dipendenza da Office.

Libreria Java open source per presentazioni PowerPoint

Aspose.Slides FOSS per Java è una libreria pure-Java con licenza MIT per lavorare con file .pptx di PowerPoint. Aggiungi una singola dipendenza Maven e inizia subito a creare, leggere e modificare presentazioni senza installare Microsoft Office o alcun runtime proprietario.

La libreria espone un’API di Presentazione costruita attorno a Presentation, Slide, Shape, TextFrame, Paragraph e Portion, il modello concettuale usato da PowerPoint stesso. Aggiungi e rimuovi diapositive, inserisci AutoShapes, Tables e Connectors, formatta il testo a livello di carattere con bold, italic, font size e color, applica riempimenti solidi o gradienti e aggiungi effetti visivi (shadow, glow, blur, reflection).

La classe Presentation implementa AutoCloseable, quindi usa try-with-resources per una pulizia affidabile. Le parti XML sconosciute incontrate durante il caricamento vengono preservate alla lettera al salvataggio, così il round-tripping non distrugge mai i contenuti che la libreria non comprende ancora. Per funzionalità aggiuntive e supporto, vedi Aspose.Slides for Java enterprise edition.

API per presentazioni e diapositive

  • Crea e apri PPTX: Crea nuove presentazioni o apri file .pptx esistenti tramite new Presentation() o new Presentation(path).
  • Aggiungi e rimuovi diapositive: Gestisci programmaticamente il SlideCollection con addClone(), addEmptySlide(), remove(), e removeAt().
  • AutoShapes: Inserisci rettangoli, ellissi, linee e altre geometrie ShapeType tramite addAutoShape().
  • Tabelle e connettori: Aggiungi forme di tabelle strutturate e linee di connettore tra le forme tramite addConnector().
  • Speaker notes: Leggi e scrivi le note del relatore per diapositiva tramite NotesSlideManager.
  • Commenti a thread: Accedi ai thread di commenti a livello di diapositiva con getSlideComments().

Dove Aspose.Slides FOSS può essere utilizzato

  • Generazione di report: Crea deck di diapositive brandizzati da fonti di dati senza Office.
  • Automazione dei template: Compila i template PPTX con contenuti dinamici nei pipeline CI/CD.
  • Migrazione dei contenuti: Leggi le presentazioni esistenti e ristruttura o ridisegna le diapositive.
  • Backend serverless: Elabora i file PPTX all’interno di contenitori Docker o funzioni Lambda.
  • Elaborazione batch: Applica modifiche di formattazione uniformi a grandi librerie di presentazioni.

Formattazione del testo e effetti visivi

  • Formattazione a livello di carattere: Applica grassetto, corsivo, dimensione del carattere e colore a singoli oggetti Portion tramite getPortionFormat().
  • Riempimenti solidi e sfumati: Imposta il riempimento della forma su un colore solido o su una sfumatura lineare a più fermate usando getFillFormat() e FillType.
  • Effetti di ombra e bagliore: Applica ombra esterna, bagliore, sfocatura e riflessione a qualsiasi forma tramite getEffectFormat().
  • Allineamento del paragrafo: Imposta l’allineamento a sinistra, al centro, a destra o giustificato per ogni paragrafo usando getParagraphFormat().setAlignment().
  • Round-trip safe: Le parti sconosciute XML vengono preservate letteralmente al ri-salvataggio.

Esperienza dello sviluppatore

Aspose.Slides FOSS si installa con una singola dipendenza Maven (org.aspose.slides.foss:aspose-slides-foss). La libreria è pura Java senza estensioni native da compilare e senza pacchetti di sistema da installare.

L’API rispecchia il modello di oggetti di PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), quindi chiunque conosca il modello di oggetti di PowerPoint può utilizzare la libreria immediatamente. È rilasciata con licenza MIT, è open-source su GitHub e richiede JDK 21 o versioni successive.

Crea una presentazione e aggiungi una forma

Usa try-with-resources per garantire che il Presentation sia sempre chiuso e le risorse vengano liberate. addAutoShape() accetta un enum ShapeType, poi la posizione x/y e larghezza/altezza in punti. Chiama addTextFrame() per creare il frame di testo e impostare il testo iniziale in una sola chiamata — non chiamare getTextFrame() prima di addTextFrame() poiché il frame è nullo fino a quando non viene creato.

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

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Formatta il testo e applica un effetto di riempimento

La formattazione del testo funziona a livello di Portion — l’unità più piccola di una sequenza di caratteri. Apri il file salvato, naviga alla prima porzione del primo paragrafo e imposta le proprietà del font tramite getter e setter. Il riempimento della forma è indipendente: imposta FillType su SOLID e assegna un colore tramite getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Domande Frequenti

Che cos’è Aspose.Slides FOSS per Java?

È una libreria pure-Java gratuita, con licenza MIT, per creare, leggere e modificare presentazioni PowerPoint .pptx senza richiedere Microsoft Office.

Quali formati di file sono supportati?

.pptx è il formato di lettura/scrittura supportato. L’esportazione in PDF, HTML, SVG o immagini non è disponibile in questa edizione.

Richiede Microsoft Office o PowerPoint?

No. Aspose.Slides FOSS è una libreria pure-Java senza dipendenze da Microsoft Office, automazione COM o qualsiasi runtime proprietario.

Come lo installo?

Aggiungi la dipendenza Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 al tuo progetto. Non sono richiesti pacchetti di sistema aggiuntivi né estensioni native. È richiesto JDK 21 o successivo.

Posso applicare effetti visivi come ombra e bagliore?

Sì. La libreria supporta effetti di ombra esterna, bagliore, sfocatura e riflessione su qualsiasi oggetto forma tramite l’API EffectFormat.

Il pattern try-with-resources è consigliato?

Sì. Presentation implementa AutoCloseable, quindi usa sempre try (Presentation prs = new Presentation()) { ... } per una pulizia affidabile delle risorse.

Il round-tripping di un PPTX distruggerà contenuti sconosciuti?

No. Le parti sconosciute di XML incontrate durante il caricamento vengono preservate alla lettera al salvataggio, quindi il contenuto che la libreria non comprende ancora non viene mai perso.

Dove posso trovare il codice sorgente?

La libreria è rilasciata sotto licenza MIT ed è ospitata su GitHub. Segnalazioni di bug e pull request sono benvenute.

  

Risorse di Supporto e Apprendimento

 Italiano