Chargement de fichiers Web‑Open‑Font (WOFF) | .NET
Contents
[
Hide
Show
]Chargement de fichiers Web‑Open‑Font (WOFF) avec Aspose.Font pour .NET
Ce dont vous avez besoin
| Élément | Description | Où se procurer |
|---|---|---|
| Aspose.Font pour .NET | Bibliothèque principale permettant de lire, d’écrire et de convertir des fichiers de polices (y compris WOFF/WOFF2). | dotnet add package Aspose.Font ou via l’interface utilisateur NuGet (https://www.nuget.org/packages/Aspose.Font). |
| Framework cible | .NET Framework 4.x / .NET Core 3.x / .NET 5/6/7 – toute plateforme prise en charge par Aspose.Font. | Aucun environnement d’exécution supplémentaire requis. |
| Importations d’espaces de noms | csharp\nusing Aspose.Font;\nusing Aspose.Font.Sources;\nusing System.IO;\n |
Conseil : Toute la documentation de l’API est disponible à l’adresse https://reference.aspose.com/font/net/.
Chargement d’un fichier WOFF depuis le système de fichiers
Étape par étape
- Localisez le fichier de police (par exemple
C:\Fonts\MyWebFont.woff). - Créez un
FileSystemStreamSourcequi donne à la bibliothèque un flux vers ce fichier. - Enveloppez la source du flux dans un
FontFileDefinition– spécifiez l’extension"woff"(la bibliothèque l’utilise pour choisir le bon analyseur). - Créez un
FontDefinition– transmettez leFontType(Woff) approprié et leFontFileDefinition. - Ouvrez la police via
Font.Open()– vous obtenez un objet dérivé deAspose.Font.Font(par exempleWoffFont).
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}Résultat :
woffFontest une instance deAspose.Font.Woff.WoffFont. Vous pouvez désormais afficher du texte, examiner les métriques des glyphes ou le convertir dans un autre format (TTF, SVG, etc.).
Méthodes alternatives pour charger les polices WOFF
Chargement à partir d’un tableau d’octets (par exemple lorsque la police est intégrée dans une ressource ou téléchargée via 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);Chargement directement à partir d’un flux sans intermédiaire FileDefinition
Si vous avez déjà un FileStream ouvert :
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}Les deux approches utilisent les mêmes classes sous-jacentes, seule la source des modifications d’octets (fichier disque vs mémoire vs flux personnalisé).
Après le chargement, que pouvez-vous faire ?
- Rendu le texte – utilisez le sous-système
Aspose.Font.Renderingou exportez les contours des glyphes. - Lire les métriques de police – par ex.
((WoffFont)woffFont).Metrics. - Convertir vers un autre format – appelez
font.Save("output.ttf");après avoir converti vers la sous-classe appropriée ou utilisé l’API générique. - Sous-ensemble/fusion – combinez plusieurs polices en une seule collection.
- Extraire les informations de licence – si elles sont présentes dans l’en-tête WOFF.
Tous ces éléments sont démontrés dans le référentiel d’exemples officiel :
📂 https://github.com/aspose-font/Aspose.Font-Documentation/tree/master/net-examples
Liste de contrôle rapide (pour les pages de documentation)
- ✅ Ajoutez un badge NuGet :
[](https://www.nuget.org/packages/Aspose.Font/) - ✅ Incluez un exemple de bloc de code (comme indiqué ci-dessus) avec une coloration syntaxique appropriée.
- ✅ Mentionnez le tableau des extensions prises en charge (copie de la section 2 ci-dessus).
- ✅ Lien vers la référence API pour :
Aspose.Font.Font.OpenAspose.Font.Sources.FileSystemStreamSourceAspose.Font.Sources.ByteContentStreamSourceAspose.Font.FontFileDefinitionAspose.Font.FontDefinition
- ✅ Fournir des liens « Lectures complémentaires » :
- 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
- ✅ Ajoutez un conseil de dépannage : Si vous recevez « Format de police non pris en charge », vérifiez que vous avez transmis à la fois « FontType.WOFF » et une extension « woff ».