WOFF (Web Open Font Format) to w zasadzie TTF (True Type Font), ale zawiera kompresję specyficzną dla formatu i dodatkowe metadane XML. WOFF2 to rozszerzona wersja WOFF. Oferuje większą kompresję w porównaniu do WOFF. Zarówno WOFF, jak i WOFF2 są używane na stronach internetowych. Z drugiej strony TTF (True Type Font) działa dobrze na wszystkich platformach cyfrowych i zapewnia doskonałą jakość na ekranie oraz w drukowanych dokumentach. W niektórych przypadkach może zaistnieć potrzeba programowej konwersji czcionek True Type na czcionki internetowe w aplikacjach Java. W tym artykule dowiemy się, jak przekonwertować TTF na WOFF i WOFF2 przy użyciu Javy.
W tym artykule zostaną omówione następujące tematy:
- Java API do konwersji TTF na WOFF i WOFF2
- Konwertuj TTF na WOFF za pomocą Java
- Konwertuj TTF na WOFF2 przy użyciu Javy
Java API do konwersji TTF na WOFF i WOFF2
Do konwersji TTF na WOFF użyjemy API Aspose.Font for Java. Zapewnia klasę FontFileDefinition, która reprezentuje definicję pliku czcionek. Udostępnia również klasę FontDefinition, która reprezentuje definicję zestawu plików czcionek i udostępnia podstawowe informacje o czcionce, takie jak nazwa, typ itp. Metoda Open() tej klasy zwraca FontDefinition dla pliku czcionki i typu czcionki. Załadowaną czcionkę możemy przekonwertować na inne formaty za pomocą metody SaveToFormat() klasy Font. Ponadto API umożliwia ładowanie, zapisywanie i wyodrębnianie informacji z obsługiwanych typów czcionek.
Pobierz plik JAR interfejsu API lub dodaj następującą konfigurację pom.xml w aplikacji Java opartej na Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-font</artifactId>
<version>21.12</version>
<type>pom</type>
</dependency>
Konwertuj TTF na WOFF za pomocą Java
Możemy łatwo przekonwertować czcionki True Type (TTF) na Web Open Font Format (WOFF), wykonując poniższe czynności:
- Najpierw załaduj plik czcionki przy użyciu klasy FileSystemStreamSource.
- Następnie utwórz instancję klasy FontFileDefinition z obiektem pliku źródłowego jako argumentem.
- Następnie zainicjuj obiekt klasy FontDefinition z typem Font jako obiektem TTF i FontFileDefinition.
- Następnie otwórz czcionkę za pomocą metody Font.Open() z obiektem FontDefinition jako argumentem.
- Na koniec wywołaj metodę SaveToFormat(), aby go zapisać. Pobiera ścieżkę pliku wyjściowego i FontSavingFormats do WOFF jako argumenty.
Poniższy przykładowy kod demonstruje, jak przekonwertować TTF na WOFF przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak przekonwertować TTF na WOFF.
// Ścieżka do pliku TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Załaduj plik czcionki
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Utwórz definicję pliku czcionek
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Utwórz definicję czcionki
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Otwórz czcionkę
Font font = Font.open(fontDefinition);
// Ścieżka wyjściowa WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);
// Konwertuj TTF na WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);
Konwertuj TTF na WOFF2 za pomocą Java
WOFF2 to zaktualizowana wersja WOFF. Oferuje większą kompresję, dzięki czemu ma mniejszy rozmiar pliku i zapewnia lepszą wydajność dla nowoczesnych przeglądarek. Możemy również przekonwertować TTF na WOFF2, wykonując czynności wymienione wcześniej. Jednak w ostatnim kroku musimy tylko ustawić FontSavingFormats jako WOFF2.
Poniższy przykładowy kod demonstruje, jak przekonwertować TTF na WOFF2 przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak przekonwertować TTF na WOFF2.
// Ścieżka do pliku TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Załaduj plik czcionki
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Utwórz definicję pliku czcionek
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Utwórz definicję czcionki
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Otwórz czcionkę
Font font = Font.open(fontDefinition);
// Ścieżka wyjściowa WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);
// Konwertuj TTF na WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);
Uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule dowiedzieliśmy się, jak konwertować czcionki True Type na czcionki Web Open w Javie. Widzieliśmy również, jak programowo zapisać TTF jako WOFF2. Poza tym możesz dowiedzieć się więcej o Aspose.Font for Java API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.