使用 Java 將 TTF 轉換為 WOFF 和 WOFF2。

WOFF(Web Open Font Format) 基本上是 TTF(True Type Font),但它包含特定於格式的壓縮和附加的 XML 元數據。 WOFF2 是 WOFF 的擴展版本。與 WOFF 相比,它提供更多壓縮。 WOFF 和 WOFF2 都用在網頁上。另一方面,TTF(True Type 字體) 在所有數字平台上都能正常工作,並在屏幕和打印文檔中提供出色的質量。在某些情況下,我們可能需要在 Java 應用程序中以編程方式將 True-Type 字體轉換為 Web 字體。在本文中,我們將學習如何使用 Java 將 TTF 轉換為 WOFF 和 WOFF2。

本文應涵蓋以下主題:

將 TTF 轉換為 WOFF 和 WOFF2 的 Java API

為了將 TTF 轉換為 WOFF,我們將使用 Aspose.Font for Java API。它提供了代表字體文件定義的 FontFileDefinition 類。它還提供了表示字體文件集定義的 FontDefinition 類,並提供了字體的基本細節,例如名稱、類型等。此類的 Open() 方法返回字體文件和字體類型的 FontDefinition。我們可以使用 Font 類的 SaveToFormat() 方法將加載的字體轉換為其他格式。此外,API 允許從支持的字體類型 加載、保存和提取信息。

下載 API 的 JAR 或在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置。

<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>

使用 Java 將 TTF 轉換為 WOFF

我們可以按照以下步驟輕鬆地將 True Type 字體 (TTF) 轉換為 Web Open Font Format (WOFF):

以下代碼示例演示瞭如何使用 Java 將 TTF 轉換為 WOFF。

// 此代碼示例演示如何將 TTF 轉換為 WOFF。
// TTF文件路徑
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// 加載字體文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// 創建字體文件定義
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// 創建字體定義
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// 打開字體
Font font = Font.open(fontDefinition);

// WOFF輸出路徑
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

// 將 TTF 轉換為 WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);

使用 Java 將 TTF 轉換為 WOFF2

WOFF2 是 WOFF 的更新版本。它提供更多的壓縮,因此它的文件大小更小,並為現代瀏覽器提供更好的性能。我們也可以按照前面提到的步驟將 TTF 轉換為 WOFF2。但是,我們只需要在最後一步將 FontSavingFormats 設置為 WOFF2 即可。

以下代碼示例演示瞭如何使用 Java 將 TTF 轉換為 WOFF2。

// 此代碼示例演示如何將 TTF 轉換為 WOFF2。
// TTF文件路徑
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// 加載字體文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// 創建字體文件定義
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// 創建字體定義
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// 打開字體
Font font = Font.open(fontDefinition);

// WOFF輸出路徑
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);

// 將 TTF 轉換為 WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);

獲得免費許可證

您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。

結論

在本文中,我們學習瞭如何將 True Type 字體轉換為 Java 中的 Web Open 字體。我們還了解瞭如何以編程方式將 TTF 保存為 WOFF2。此外,您可以使用文檔了解更多關於 Aspose.Font for Java API 的信息。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看