Konwertuj TTF na WOFF i WOFF2 za pomocą Java.

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

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.

Zobacz też