StreamFontSource

StreamFontSource class

Classe base per l’origine del carattere stream definito dall’utente.

Per saperne di più, visita ilLavorare con i caratteri articolo di documentazione.

public abstract class StreamFontSource : FontSourceBase

Proprietà

NomeDescrizione
CacheKey { get; }La chiave di questa origine nella cache.
Priority { get; }Restituisce la priorità della fonte del carattere.
Type { get; }Restituisce il tipo di fonte del carattere.
WarningCallback { get; set; }Chiamato durante l’elaborazione dell’origine del carattere quando viene rilevato un problema che potrebbe comportare una perdita di fedeltà della formattazione.

Metodi

NomeDescrizione
GetAvailableFonts()Restituisce l’elenco dei caratteri disponibili tramite questa origine.
abstract OpenFontDataStream()Questo metodo dovrebbe aprire lo stream con i dati dei caratteri su richiesta.

Osservazioni

Per utilizzare l’origine del carattere del flusso è necessario creare una classe derivata dal fileStreamFontSource e fornire l’implementazione diOpenFontDataStream metodo.

OpenFontDataStreamil metodo potrebbe essere chiamato più volte. Per la prima volta verrà chiamato quando Aspose.Words esegue la scansione delle fonti di caratteri fornite per ottenere l’elenco dei caratteri disponibili. Successivamente potrebbe essere chiamato se il carattere viene utilizzato nel documento per analizzare i dati del carattere e incorporare i dati del carattere in alcuni formati di output.

StreamFontSource può essere utile perché permette di caricare i dati del font solo quando è richiesto e non di salvarli in memoria per ilFontSettings tutta la vita.

Esempi

Mostra come caricare i caratteri dallo stream.

public void StreamFontSourceFileRendering()
{
    FontSettings fontSettings = new FontSettings();
    fontSettings.SetFontsSources(new FontSourceBase[] {new StreamFontSourceFile()});

    DocumentBuilder builder = new DocumentBuilder();
    builder.Document.FontSettings = fontSettings;
    builder.Font.Name = "Kreon-Regular";
    builder.Writeln("Test aspose text when saving to PDF.");

    builder.Document.Save(ArtifactsDir + "FontSettings.StreamFontSourceFileRendering.pdf");
}

/// <summary>
/// Carica i dati dei caratteri solo quando richiesto invece di archiviarli nella memoria
/// per l'intera durata dell'oggetto "FontSettings".
/// </summary>
private class StreamFontSourceFile : StreamFontSource
{
    public override Stream OpenFontDataStream()
    {
        return File.OpenRead(FontsDir + "Kreon-Regular.ttf");
    }
}

Guarda anche