Завантаження файлів Web-Open-Font (WOFF) | .NET
Contents
[
Hide
Show
]Завантаження файлів 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 із файлової системи
Покрокова послідовність
- Знайдіть файл шрифту (наприклад,
C:\Fonts\MyWebFont.woff). - Створіть
FileSystemStreamSource, який надає бібліотеці потік до цього файлу. - Оберніть джерело потоку у
FontFileDefinition– укажіть розширення"woff"(бібліотека використовує це, щоб вибрати правильний аналізатор). - Створіть
FontDefinition– передайте відповіднийFontType(Woff) іFontFileDefinition. - Відкрийте шрифт за допомогою
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}Обидва підходи використовують ті самі базові класи, змінюється лише джерело байтів (дисковий файл проти пам’яті чи спеціального потоку).
Після завантаження – що ще ви можете зробити?
- Виводити текст – використовувати підсистему
Aspose.Font.Renderingабо експортувати контури гліфів. - Читати показники шрифту – напр.
((WoffFont)woffFont).Метрики. - Перетворіть в інший формат – викличте
font.Save("output.ttf");після перетворення у відповідний підклас або за допомогою загального API. - Підмножина / злиття – об’єднати кілька шрифтів в одну колекцію.
- Витягти інформацію про ліцензування – якщо є в заголовку WOFF.
Усе це продемонстровано в офіційному репозиторії прикладів:
📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples
Швидкий контрольний список (для сторінок документації)
- ✅ Додайте значок NuGet:
[](https://www.nuget.org/packages/Aspose.Font/) - ✅ Додайте зразок блоку коду (як показано вище) з належним виділенням синтаксису.
- ✅ Вкажіть таблицю підтримуваних розширень (копія з розділу 2 вище).
- ✅ Посилання на посилання на API для:
Aspose.Font.Font.OpenAspose.Font.Sources.FileSystemStreamSourceAspose.Font.Sources.ByteContentStreamSourceAspose.Font.FontFileDefinitionAspose.Font.FontDefinition
- ✅ Надайте посилання на «Дальше читання»:
- Getting started: https://docs.aspose.com/font/net/getting-started/
- Full API reference: https://reference.aspose.com/font/net/
- Free online demo: https://products.aspose.app/font/conversion
- ✅ Додайте пораду щодо усунення несправностей: Якщо ви отримуєте повідомлення «Непідтримуваний формат шрифту», переконайтеся, що ви передали розширення
FontType.WOFFіwoff.