使用 C# 將 TTF 轉換為 WOFF

字體定義了文本中單個字符的圖形表示,例如其大小、顯示樣式、粗細、顏色等。TTF(True Type Font) 在所有數字平台上都能正常工作,並在 -屏幕和印刷文件。另一方面,WOFF (Web Open Font Format) 主要用於網頁。它包含格式特定的壓縮和附加的 XML 元數據。在某些情況下,我們可能需要將 true-type 字體轉換為 Web 字體。在本文中,我們將學習如何使用 C# 將 TTF 轉換為 WOFF。

本文應涵蓋以下主題:

C# TTF 到 WOFF 轉換器 API

為了將 TTF 轉換為 WOFF,我們將使用 Aspose.Font for .NET API。它允許從支持的字體類型 加載、保存和提取信息。請 下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Font

使用 C# 將 TTF 轉換為 WOFF

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

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

// 此代碼示例演示如何將 TTF 轉換為 WOFF。
// TTF文件路徑
string fontPath = @"D:\Files\font\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 = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

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

在 C# 中將 TTF 轉換為 WOFF2

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

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

// 此代碼示例演示如何將 TTF 轉換為 WOFF2。
// TTF文件路徑
string fontPath = @"D:\Files\font\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 = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

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

獲得免費許可證

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

結論

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

也可以看看