Загрузка файлов Web‑Open‑Font (WOFF) | .NET

Загрузка файлов Web‑Open‑Font (WOFF) с помощью Aspose.Font для .NET

Что вам нужно

ЭлементОписаниеГде получить
Aspose.Font для .NETОсновная библиотека, которая читает, записывает и преобразует файлы шрифтов (включая WOFF/WOFF2).dotnet add package 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.