Завантаження файлів Web-Open-Font (WOFF) | .NET

Завантаження файлів Web-Open-Font (WOFF) за допомогою Aspose.Font для .NET

Те, що вам потрібно

ЕлементОписДе взяти
Aspose.Font для .NETОсновна бібліотека, яка читає, записує та конвертує файли шрифтів (включаючи WOFF/WOFF2).dotnet додати пакет Aspose.Font або через інтерфейс користувача NuGet (https://www.nuget.org/packages/Aspose.Font).
Цільова платформа.NETFramework4.x / .NETCore3.x / .NET5/6/7 – будь-яка платформа, що підтримується Aspose.Font.Додаткове середовище виконання не потрібне.
Імпорт простору іменcsharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n

Порада: Вся документація API знаходиться за адресою https://reference.aspose.com/font/net/.

Завантаження файлу WOFF із файлової системи

Покрокова послідовність

  1. Знайдіть файл шрифту (наприклад, C:\Fonts\MyWebFont.woff).
  2. Створіть FileSystemStreamSource, який надає бібліотеці потік до цього файлу.
  3. Оберніть джерело потоку у FontFileDefinition – укажіть розширення "woff" (бібліотека використовує це, щоб вибрати правильний аналізатор).
  4. Створіть FontDefinition – передайте відповідний FontType (Woff) і FontFileDefinition.
  5. Відкрийте шрифт за допомогою Font.Open() – ви отримаєте об’єкт, похідний від Aspose.Font.Font (наприклад, WoffFont).
 1using System;
 2using System.IO;
 3using Aspose.Font;
 4using Aspose.Font.Sources;
 5
 6class LoadWoffExample
 7{
 8    static void Main()
 9    {
10        // Path to the .woff file
11        string woffPath = @"C:\Fonts\MyWebFont.woff";
12
13        // Stream source that reads directly from the file system
14        FileSystemStreamSource streamSrc = new FileSystemStreamSource(woffPath);
15
16        // FontFileDefinition – we tell Aspose it is a “woff” file
17        FontFileDefinition fileDef = new FontFileDefinition("woff", streamSrc);
18
19        // FontDefinition – specify the font type (Woff)
20        FontDefinition fontDef = new FontDefinition(FontType.WOFF, fileDef);
21
22        // Load the font
23        Font woffFont = Font.Open(fontDef);
24
25        // woffFont now gives you access to glyphs, metrics, encoding, etc.
26        Console.WriteLine($"Loaded font: {woffFont.GetType().Name}");
27    }
28}

Результат: woffFont є екземпляром Aspose.Font.Woff.WoffFont. Тепер можна рендерити текст, перевіряти метрики гліфів або конвертувати його в інший формат (TTF, SVG тощо).

Альтернативні способи завантаження шрифтів WOFF

Завантаження з байтового масиву (наприклад, коли шрифт вбудовано в ресурс або завантажено через HTTP)

 1byte[] woffBytes = File.ReadAllBytes(@"C:\Fonts\MyWebFont.woff");
 2
 3// ByteContentStreamSource wraps the byte[] as a readable stream
 4ByteContentStreamSource byteSrc = new ByteContentStreamSource(woffBytes);
 5
 6// Create definition – note we still supply "woff" as extension
 7FontDefinition fd = new FontDefinition(FontType.WOFF,
 8                                      "woff",
 9                                      byteSrc);
10
11Font woffFont = Font.Open(fd);

Завантаження безпосередньо з потоку без проміжного FileDefinition

Якщо у вас уже є відкритий FileStream:

1using (FileStream fs = File.OpenRead(@"C:\Fonts\MyWebFont.woff"))
2{
3    // Wrap the live FileStream in FileSystemStreamSource
4    var streamSrc = new FileSystemStreamSource(fs);
5
6    // Directly pass stream source + extension into FontDefinition
7    var fd = new FontDefinition(FontType.WOFF, "woff", streamSrc);
8    var woffFont = Font.Open(fd);
9}

Обидва підходи використовують ті самі базові класи, змінюється лише джерело байтів (дисковий файл проти пам’яті чи спеціального потоку).

Після завантаження – що ще ви можете зробити?

Усе це продемонстровано в офіційному репозиторії прикладів:

📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples

Швидкий контрольний список (для сторінок документації)

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.