Chargement des polices Type-1 (PostScript) | .NET
Contents
[
Hide
Show
]Caricamento di font Type‑1 con Aspose.Font per .NET
Perché i font Type‑1?
- Font Type‑1 (PostScript) – .pfb (binario) e .pfa (ASCII) – sono ancora usati in molti flussi di lavoro legacy di pubblicazione e CAD.
- Aspose.Font può leggere, analizzare, renderizzare e convertire questi font senza dipendenze esterne, rendendolo ideale per l’elaborazione lato server e la generazione di documenti.
Cosa ti serve
| Item | Versione minima |
|---|---|
| .NET Framework | 4.6 (o .NET Core 2.x / .NET 5+) |
| Aspose.Font per .NET | 23.12 o successiva |
| Licenza | Un file .lic valido (opzionale per la versione di prova – altrimenti una valutazione di 30 giorni è sufficiente). |
Aggiungi il pacchetto NuGet al tuo progetto:
1dotnet add package Aspose.FontConcetti fondamentali dell’API
| Classe / Enum | Scopo |
|---|---|
FontDefinition | Descrive cosa tipo di font si vuole aprire (FontType.Type1). |
FontFileDefinition | Descrive dove si trova il font – file system (FileSystemStreamSource), memoria (ByteContentStreamSource) o qualsiasi sorgente di stream personalizzata. |
FontType | Enum che indica ad Aspose il formato atteso (CFF, TTF, Type1, …). |
Aspose.Font.Font.Open(fd) | Metodo statico che legge la definizione e restituisce un’implementazione di IFont (Type1Font). |
Type1Font | Classe concreta che espone glifi, metriche, codifica e capacità di rendering per i font Type‑1. |
Caricamento di un font Type‑1 dal disco
1using System;
2using System.IO;
3using Aspose.Font;
4using Aspose.Font.Sources;
5
6// Percorso al file .pfb o .pfa
7string fileName = @"C:\Fonts\courier.pfb"; // modifica con il tuo file
8
9// Verifica che il file esista
10if (!File.Exists(fileName))
11 throw new FileNotFoundException($"Font file not found: {fileName}");
12
13// Costruisci un FontDefinition che indica ad Aspose che stiamo usando un font Type‑1.
14FontDefinition fd = new FontDefinition(
15 FontType.Type1, // suggerimento del formato
16 new FontFileDefinition(
17 "pfb", // suggerimento dell'estensione (pfb o pfa)
18 new FileSystemStreamSource(fileName))); // legge direttamente dal file system
19
20// Caricalo
21Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;
22
23// Verifica che il font sia stato caricato correttamente
24if (font == null)
25 throw new InvalidOperationException("Unable to load the Type‑1 font.");Caricamento di Type‑1 dalla memoria
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;Suggerimento: La stringa
"pfb"è solo un suggerimento. Usa"pfa"per i file Type‑1 codificati in ASCII.
Conclusione
- Aspose.Font semplifica il caricamento e la gestione dei font legacy Type‑1: definisci la sorgente (
FileSystemStreamSource,ByteContentStreamSource, …), apri tramiteAspose.Font.Font.Opene ottieni subito accesso a metriche, tabelle di codifica e potenti API di rendering. - Lo stesso schema si applica ai font CFF e TrueType/OpenType—basta cambiare
FontType.Type1con il valore enum appropriato.