Chargement des polices Type-1 (PostScript) | .NET
Contents
[
Hide
Show
]Chargement de polices Type‑1 avec Aspose.Font pour .NET
Pourquoi les polices Type‑1 ?
- Polices Type‑1 (PostScript) – .pfb (binaire) et .pfa (ASCII) – sont encore utilisées dans de nombreux flux de travail d’édition et de DAO legacy.
- Aspose.Font peut lire, analyser, rendre et convertir ces polices sans aucune dépendance externe, ce qui la rend idéale pour le traitement côté serveur et la génération de documents.
Ce dont vous avez besoin
| Élément | Version minimale |
|---|---|
| .NET Framework | 4.6 (ou .NET Core 2.x / .NET 5+) |
| Aspose.Font for .NET | 23.12 ou ultérieure |
| Licence | Un fichier .lic valide (optionnel pour l’essai – autrement une évaluation de 30 jours suffit). |
Ajoutez le package NuGet à votre projet :
1dotnet add package Aspose.FontConcepts de base de l’API
| Classe / Enum | But |
|---|---|
FontDefinition | Décrit quel type de police vous voulez ouvrir (FontType.Type1). |
FontFileDefinition | Décrit où se trouve la police – système de fichiers (FileSystemStreamSource), mémoire (ByteContentStreamSource), ou toute source de flux personnalisée. |
FontType | Enum qui indique à Aspose quel format attendre (CFF, TTF, Type1, …). |
Aspose.Font.Font.Open(fd) | Méthode statique qui lit la définition et renvoie une implémentation IFont (Type1Font). |
Type1Font | Classe concrète exposant les glyphes, métriques, codage et capacités de rendu pour les polices Type‑1. |
Chargement d’une police Type‑1 depuis le disque
1using System;
2using System.IO;
3using Aspose.Font;
4using Aspose.Font.Sources;
5
6// Path to the .pfb or .pfa file
7string fileName = @"C:\Fonts\courier.pfb"; // change to your file
8
9// Ensure the file exists
10if (!File.Exists(fileName))
11 throw new FileNotFoundException($"Font file not found: {fileName}");
12
13// Build a FontDefinition that tells Aspose we are dealing with a Type‑1 font.
14FontDefinition fd = new FontDefinition(
15 FontType.Type1, // format hint
16 new FontFileDefinition(
17 "pfb", // extension hint (pfb or pfa)
18 new FileSystemStreamSource(fileName))); // reads directly from the file system
19
20// Load it
21Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;
22
23// Verify that the font really loaded
24if (font == null)
25 throw new InvalidOperationException("Unable to load the Type‑1 font.");Chargement d’une police Type‑1 depuis la mémoire
1byte[] fontBytes = File.ReadAllBytes(fileName);
2FontDefinition fd = new FontDefinition(
3 FontType.Type1,
4 new FontFileDefinition("pfb", new ByteContentStreamSource(fontBytes)));
5Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;Astuce : La chaîne
"pfb"n’est qu’une indication. Utilisez"pfa"pour les fichiers Type‑1 encodés en ASCII.
Conclusion
- Aspose.Font rend le chargement et le travail avec les polices legacy Type‑1 simples : définissez la source (
FileSystemStreamSource,ByteContentStreamSource, …), ouvrez viaAspose.Font.Font.Open, et vous obtenez immédiatement accès aux métriques, tables de codage et API de rendu puissantes. - Le même schéma s’applique aux polices CFF et TrueType/OpenType — il suffit de changer
FontType.Type1pour la valeur d’enum appropriée.