Requisiti di sistema
Introduzione
Aspose.Slides for Java è una libreria autonoma: non ha bisogno di Microsoft PowerPoint né di Microsoft Office. È un unico file JAR, pubblicato nel repository Maven di Aspose. Il file JAR contiene solo classi Java e risorse, senza librerie native, e non dichiara dipendenze da altre librerie. Lo stesso file quindi funziona su ogni sistema operativo e processore per i quali è disponibile un runtime Java supportato.
Questo articolo elenca le versioni Java supportate e i sistemi operativi, nonché la libreria dei font e i font necessari su Linux, e termina con un breve programma che verifica la tua configurazione. Per aggiungere la libreria a un progetto, consulta Installazione.
Versioni Java supportate
Aspose.Slides for Java funziona su Java 8 o versioni successive, con un JDK o un JRE. Ciò include le versioni a lungo termine Java 8, 11, 17, 21 e 25, e versioni successive come Java 26 e Java 27. Il runtime Java può provenire da qualsiasi fornitore, ad esempio Eclipse Temurin, Amazon Corretto, Oracle o i pacchetti OpenJDK di una distribuzione Linux.
Aspose.Slides non necessita di opzioni JVM, come --add-opens, su nessuna di queste versioni. Su Java 11, la JVM stampa un avviso che inizia con “WARNING: An illegal reflective access operation has occurred”; l’avviso non influisce sul risultato.
Warning
Java 6 e Java 7 sono deprecati. Aspose.Slides for Java 26.9 funziona ancora su di essi ma stampa un avviso di deprecazione. A partire dalla versione 26.10, Java 8 è il minimo, e Java 6 e Java 7 non sono più supportati.Il progetto Maven e i comandi in Installazione richiedono JDK 11 o versioni successive. Con Java 8, compila e esegui il tuo programma come mostrato in Verifica la tua configurazione.
Sistemi operativi supportati
Poiché il file JAR non contiene codice nativo, Aspose.Slides for Java funziona su Windows, Linux e macOS, su qualsiasi architettura di processore supportata dal runtime Java, come x64 e ARM64. Il runtime Java è l’unico requisito su Windows. Su Linux, il supporto dei font di Java necessita anche della libreria dei font e dei font descritti in Linux.
Linux
Aspose.Slides for Java dispone e disegna il testo con il supporto dei font del runtime Java. Su Linux, tale supporto richiede la libreria fontconfig e almeno un font installato. Le immagini container ufficiali delle distribuzioni Linux spesso non li includono. Senza di essi, il primo esempio in Crea presentazioni fallisce quando salva la presentazione, lascia un file vuoto e riporta questo errore:
java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration
Le immagini container ufficiali eclipse-temurin, per Ubuntu e per Alpine Linux, contengono già fontconfig e i font DejaVu, quindi non è necessario installare nulla su di esse. Su altri sistemi, installa i pacchetti qui sotto. I comandi per Debian, Ubuntu e Red Hat usano sudo; in un Dockerfile, eseguili in un’istruzione RUN senza sudo. I font DejaVu sono sufficienti per far funzionare Aspose.Slides; i font utilizzati nelle tue presentazioni sono trattati in Font.
Debian e Ubuntu
Se installi Java dai pacchetti Debian o Ubuntu con le impostazioni predefinite di apt-get, come fa il comando in Installazione, i pacchetti Java installano anche la libreria fontconfig, i font DejaVu e la libreria HarfBuzz necessaria a questi pacchetti Java, e non è richiesto nient’altro.
Con un runtime Java da altra fonte, come un archivio Eclipse Temurin, installa fontconfig e i font DejaVu:
sudo apt-get update && sudo apt-get install -y fontconfig fonts-dejavu-core
Un Dockerfile spesso installa i pacchetti Java Debian o Ubuntu, come openjdk-21-jdk-headless o default-jdk-headless, con l’opzione --no-install-recommends, che salta tutti e tre. Installa fontconfig e i font DejaVu con il comando sopra, e installa anche HarfBuzz:
sudo apt-get install -y libharfbuzz0b
Senza HarfBuzz, questi pacchetti Java stampano Please install the openjdk-*-jre package or recommended packages for openjdk-*-jre-headless, e il salvataggio fallisce con un UnsatisfiedLinkError che segnala che libharfbuzz.so.0 non può essere aperto.
Red Hat Enterprise Linux
I pacchetti java-<version>-openjdk-headless di Red Hat Enterprise Linux non installano la libreria fontconfig. Installala insieme ai font DejaVu:
sudo dnf install -y fontconfig dejavu-sans-fonts
I pacchetti completi java-<version>-openjdk installano fontconfig e font come dipendenze, così come i pacchetti Amazon Corretto di Amazon Linux 2023, come java-21-amazon-corretto-headless.
Alpine Linux
In un Dockerfile basato su Alpine Linux, installa fontconfig e i font DejaVu:
RUN apk add --no-cache fontconfig ttf-dejavu
Nelle versioni attuali di Alpine, ttf-dejavu installa il pacchetto font-dejavu. Installa Java con il pacchetto openjdk<version>-jre o openjdk<version>-jdk, ad esempio openjdk25-jdk. I pacchetti openjdk<version>-jre-headless di Alpine Linux non contengono la libreria dei font di Java, quindi con essi il programma fallisce con UnsatisfiedLinkError: no fontmanager in system library path, anche quando i font sono installati.
Font
Affinché il testo venga visualizzato con i font e le metriche corrette, i font utilizzati nelle tue presentazioni, o sostituti idonei, devono essere installati sul sistema o caricati dalla tua applicazione. Consulta Distribuisci font, Sostituzione font, e Font personalizzati.
Verifica la tua configurazione
Per verificare che la libreria e i suoi requisiti siano presenti, esegui un programma che salva una presentazione e rende una diapositiva in un’immagine. Il salvataggio e il rendering utilizzano il supporto dei font del runtime Java, che è fornito dai requisiti Linux sopra indicati.
Salva il codice seguente come CheckSetup.java nella cartella che contiene il file JAR di Aspose.Slides. Per scaricare il file JAR, consulta Usa il file JAR senza Maven.
import com.aspose.slides.*;
public class CheckSetup {
public static void main(String[] args) {
Presentation presentation = new Presentation();
try {
// Aggiungi un rettangolo con testo alla prima diapositiva e salva la presentazione.
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 400, 100);
shape.getTextFrame().setText("Hello, Aspose.Slides!");
presentation.save("hello.pptx", SaveFormat.Pptx);
// Renderizza la diapositiva a un pixel per punto e salva l'immagine.
IImage image = slide.getImage(1f, 1f);
try {
image.save("hello.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
}
}
Con JDK 11 o versioni successive, esegui il programma in quella cartella con il comando qui sotto. Se il tuo file JAR ha un nome diverso, modifica il nome nei comandi.
java -cp aspose-slides-26.10-jdk8.jar CheckSetup.java
Con Java 8, o su un sistema che dispone solo di un JRE, compila il programma con javac da un JDK e poi esegui la classe compilata. Su Linux e macOS, esegui:
javac -cp aspose-slides-26.10-jdk8.jar CheckSetup.java
java -cp aspose-slides-26.10-jdk8.jar:. CheckSetup
Su Windows, esegui lo stesso comando javac, e poi avvia la classe con un punto e virgola come separatore del class path. Mantieni le virgolette, in modo che PowerShell non tratti il punto e virgola come fine del comando: java -cp "aspose-slides-26.10-jdk8.jar;." CheckSetup.
Il programma aggiunge un rettangolo con testo alla prima diapositiva e salva la presentazione come hello.pptx con il metodo save. Quindi rende la diapositiva con getImage e salva il risultato come hello.png con IImage.save nel formato ImageFormat.Png. I fattori di scala di 1 rendono un pixel per punto, così la diapositiva predefinita di 720 × 540 punti diventa un’immagine di 720 × 540 pixel, con il testo visibile all’interno del rettangolo. Senza licenza, entrambi i file presentano anche una filigrana di valutazione; consulta Licensing. Se manca un requisito, il programma si interrompe con uno dei errori descritti in Linux.
Strumenti di sviluppo
Puoi creare applicazioni che utilizzano Aspose.Slides con qualsiasi JDK di una versione Java supportata. Usa Apache Maven con il repository Maven di Aspose, come descritto in Installazione, o qualsiasi altro strumento di build che possa utilizzare un repository Maven. Puoi anche aggiungere manualmente il file JAR al class path del tuo IDE o strumento di build.
FAQ
Devo avere Microsoft PowerPoint installato per le conversioni e il rendering?
No, PowerPoint non è necessario. Aspose.Slides è un motore autonomo per creare, modificare, convertire, e rendere le presentazioni.
Aspose.Slides for Java ha bisogno di un display o di un ambiente desktop su un server Linux?
No. Aspose.Slides non ha bisogno di un server X o di un display, quindi funziona su server e nei container. Su Linux, necessita solo della libreria dei font e dei font descritti in Linux.
Quali font sono necessari per un rendering corretto?
I font utilizzati nella presentazione, o i sostituti idonei, devono essere disponibili. Su Linux e macOS, installa i pacchetti di font di cui le tue presentazioni hanno bisogno per ottenere un rendering coerente.
Perché un font personalizzato viene visualizzato come fallback o testo mancante su Linux?
Se il file del font contiene voci della tavola dei nomi incoerenti o corrotte, lo stack di corrispondenza dei font di Linux (FreeType/fontconfig) può selezionare un record non valido, causando il mancato riconoscimento del font. L’uso di una versione del font con record della tavola dei nomi corretti o l’installazione di una sostituzione coerente risolve il problema.