Wymagania systemowe
Wprowadzenie
Aspose.Slides for Java to samodzielna biblioteka: nie wymaga Microsoft PowerPoint ani Microsoft Office. Jest to pojedynczy plik JAR, opublikowany w repozytorium Maven firmy Aspose. Plik JAR zawiera wyłącznie klasy i zasoby Javy, bez bibliotek natywnych, i nie deklaruje zależności od innych bibliotek. Ten sam plik działa na każdym systemie operacyjnym i procesorze, dla którego dostępny jest obsługiwany środowisko Java Runtime.
Ten artykuł wymienia wspierane wersje Javy i systemy operacyjne oraz bibliotekę czcionek i czcionki potrzebne w Linuksie, a kończy się krótkim programem, który sprawdza Twoją konfigurację. Aby dodać bibliotekę do projektu, zobacz Instalacja.
Wspierane wersje Javy
Aspose.Slides for Java działa na Java 8 lub nowszej, z JDK lub JRE. Obejmuje to wersje o długoterminowym wsparciu Java 8, 11, 17, 21 i 25 oraz późniejsze, takie jak Java 26 i Java 27. Środowisko Java może pochodzić od dowolnego dostawcy, np. Eclipse Temurin, Amazon Corretto, Oracle lub pakietów OpenJDK dystrybucji Linuksa.
Aspose.Slides nie wymaga żadnych opcji JVM, takich jak --add-opens, w żadnej z tych wersji. W Java 11 JVM wypisuje ostrzeżenie zaczynające się od „WARNING: An illegal reflective access operation has occurred”; ostrzeżenie nie wpływa na wynik.
Warning
Java 6 i Java 7 są przestarzałe. Aspose.Slides for Java 26.9 nadal działa na nich, ale wypisuje ostrzeżenie o przestarzałości. Od wersji 26.10 minimalną wersją jest Java 8, a Java 6 i Java 7 nie są już wspierane.Projekt Maven i polecenia w Instalacja wymagają JDK 11 lub nowszego. Z Java 8 kompiluj i uruchamiaj program tak, jak pokazano w Sprawdź swoją konfigurację.
Wspierane systemy operacyjne
Ponieważ plik JAR nie zawiera kodu natywnego, Aspose.Slides for Java działa na Windows, Linux i macOS, na dowolnej architekturze procesora obsługiwanej przez środowisko Java, takiej jak x64 i ARM64. Środowisko Java jest jedynym wymogiem w Windows. W Linuksie wsparcie czcionek Javy wymaga także biblioteki czcionek i czcionek opisanych w Linux.
Linux
Aspose.Slides for Java układa i rysuje tekst przy użyciu wsparcia czcionek środowiska Java. W Linuksie to wsparcie wymaga biblioteki fontconfig oraz przynajmniej jednej zainstalowanej czcionki. Oficjalne obrazy kontenerów dystrybucji Linuksa często nie zawierają ich. Bez nich pierwszy przykład w Tworzenie prezentacji nie udaje się przy zapisywaniu prezentacji, pozostawia pusty plik i zgłasza następujący błąd:
java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration
Oficjalne obrazy kontenerów eclipse-temurin dla Ubuntu i Alpine Linux już zawierają fontconfig i czcionki DejaVu, więc nie trzeba nic instalować. Na innych systemach zainstaluj poniższe pakiety. Polecenia dla Debian, Ubuntu i Red Hat używają sudo; w Dockerfile uruchom je w instrukcji RUN bez sudo. Czcionki DejaVu wystarczą do działania Aspose.Slides; czcionki używane w Twoich prezentacjach opisano w Czcionki.
Debian i Ubuntu
Jeśli instalujesz Javę z pakietów Debian lub Ubuntu przy domyślnych ustawieniach apt-get, tak jak w poleceniu w Instalacja, pakiety Java również instalują bibliotekę fontconfig, czcionki DejaVu i bibliotekę HarfBuzz, której te pakiety Java potrzebują, i nie jest wymagane nic więcej.
Przy środowisku Java pochodzącym z innego źródła, np. archiwum Eclipse Temurin, zainstaluj fontconfig i czcionki DejaVu:
sudo apt-get update && sudo apt-get install -y fontconfig fonts-dejavu-core
Dockerfile często instalują pakiety Java Debian lub Ubuntu, takie jak openjdk-21-jdk-headless lub default-jdk-headless, z opcją --no-install-recommends, co pomija wszystkie trzy. Zainstaluj fontconfig i czcionki DejaVu przy użyciu powyższego polecenia oraz także HarfBuzz:
sudo apt-get install -y libharfbuzz0b
Bez HarfBuzz te pakiety Java wypisują Please install the openjdk-*-jre package or recommended packages for openjdk-*-jre-headless, a zapisanie kończy się UnsatisfiedLinkError, który informuje, że nie można otworzyć libharfbuzz.so.0.
Red Hat Enterprise Linux
Pakiety java-<version>-openjdk-headless Red Hat Enterprise Linux nie instalują biblioteki fontconfig. Zainstaluj ją razem z czcionkami DejaVu:
sudo dnf install -y fontconfig dejavu-sans-fonts
Pełne pakiety java-<version>-openjdk instalują fontconfig i czcionki jako zależności, podobnie jak pakiety Amazon Corretto dla Amazon Linux 2023, np. java-21-amazon-corretto-headless.
Alpine Linux
W Dockerfile opartym na Alpine Linux zainstaluj fontconfig i czcionki DejaVu:
RUN apk add --no-cache fontconfig ttf-dejavu
W aktualnych wydaniach Alpine ttf-dejavu instalują pakiet font-dejavu. Zainstaluj Javę przy pomocy pakietu openjdk<version>-jre lub openjdk<version>-jdk, np. openjdk25-jdk. Pakiety openjdk<version>-jre-headless Alpine nie zawierają biblioteki czcionek Javy, więc program kończy się błędem UnsatisfiedLinkError: no fontmanager in system library path, nawet gdy czcionki są zainstalowane.
Czcionki
Aby tekst był renderowany z odpowiednimi czcionkami i metrykami, czcionki używane w Twoich prezentacjach lub odpowiednie zamienniki muszą być zainstalowane w systemie lub załadowane przez aplikację. Zobacz Wdrażanie czcionek, Zamiana czcionek i Czcionki niestandardowe.
Sprawdź swoją konfigurację
Aby zweryfikować, że biblioteka i jej wymagania są spełnione, uruchom program zapisujący prezentację i renderujący slajd do obrazu. Zapis i renderowanie korzystają ze wsparcia czcionek środowiska Java, które zapewniają opisane wyżej wymagania Linuksa.
Zapisz poniższy kod jako CheckSetup.java w folderze zawierającym plik JAR Aspose.Slides. Aby pobrać plik JAR, zobacz Używanie pliku JAR bez Maven.
import com.aspose.slides.*;
public class CheckSetup {
public static void main(String[] args) {
Presentation presentation = new Presentation();
try {
// Dodaj prostokąt z tekstem do pierwszego slajdu i zapisz prezentację.
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);
// Renderuj slajd w skali jeden piksel na punkt i zapisz obraz.
IImage image = slide.getImage(1f, 1f);
try {
image.save("hello.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
}
}
Z JDK 11 lub nowszym uruchom program w tym folderze przy pomocy poniższego polecenia. Jeśli plik JAR ma inną nazwę, zmień nazwę w poleceniach.
java -cp aspose-slides-26.10-jdk8.jar CheckSetup.java
Z Java 8 lub w systemie posiadającym tylko JRE skompiluj program przy użyciu javac z JDK, a następnie uruchom skompilowaną klasę. W Linuksie i macOS uruchom:
javac -cp aspose-slides-26.10-jdk8.jar CheckSetup.java
java -cp aspose-slides-26.10-jdk8.jar:. CheckSetup
W Windows uruchom to samo polecenie javac, a potem klasę, używając średnika jako separatora ścieżki klas. Zachowaj cudzysłowy, aby PowerShell nie potraktował średnika jako zakończenia polecenia: java -cp "aspose-slides-26.10-jdk8.jar;." CheckSetup.
Program dodaje prostokąt z tekstem do pierwszego slajdu i zapisuje prezentację jako hello.pptx metodą save. Następnie renderuje slajd metodą getImage i zapisuje wynik jako hello.png przy użyciu IImage.save w formacie ImageFormat.Png. Czynniki skali 1 renderują po jednym pikselu na punkt, więc domyślny slajd 720 × 540 punktów staje się obrazem 720 × 540 pikseli, z widocznym tekstem w prostokącie. Bez licencji oba pliki zawierają znak wodny oceny; zobacz Licencjonowanie. Jeśli brakuje któregokolwiek wymogu, program zatrzyma się jednym z błędów opisanych w Linux.
Narzędzia deweloperskie
Możesz budować aplikacje używające Aspose.Slides przy dowolnym JDK wspierającej wersji Javy. Używaj Apache Maven z repozytorium Maven Aspose, jak opisano w Instalacja, lub dowolnego innego narzędzia budującego obsługującego repozytorium Maven. Możesz także dodać plik JAR do ścieżki klas swojego IDE lub narzędzia budującego samodzielnie.
FAQ
Czy potrzebuję zainstalowanego Microsoft PowerPoint do konwersji i renderowania?
Nie, PowerPoint nie jest wymagany. Aspose.Slides to samodzielny silnik do tworzenia, modyfikacji, konwersji i renderowania prezentacji.
Czy Aspose.Slides for Java wymaga wyświetlacza lub środowiska graficznego na serwerze Linux?
Nie. Aspose.Slides nie potrzebuje serwera X ani wyświetlacza, więc działa na serwerach i w kontenerach. W Linuksie potrzebna jest tylko biblioteka czcionek i czcionki opisane w Linux.
Jakie czcionki są potrzebne do poprawnego renderowania?
Czcionki użyte w prezentacji lub odpowiednie zamienniki muszą być dostępne. W Linuksie i macOS zainstaluj pakiety czcionek wymagane przez Twoje prezentacje, aby uzyskać spójny rendering.
Dlaczego niestandardowa czcionka jest renderowana jako zastępcza lub brakujący tekst w Linuksie?
Jeśli plik czcionki ma niezgodne lub uszkodzone wpisy w tabeli nazw, stos dopasowywania czcionek Linuksa (FreeType/fontconfig) może wybrać nieprawidłowy rekord, co powoduje niewłaściwe rozpoznanie czcionki. Użycie wersji czcionki z poprawionymi rekordami tabeli nazw lub instalacja spójnego zamiennika rozwiązuje problem.