StreamFontSource

StreamFontSource class

Classe base per l’origine del font stream definita dall’utente.

public abstract class StreamFontSource : FontSourceBase

Proprietà

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

Metodi

Nome Descrizione
GetAvailableFonts() Restituisce l’elenco dei caratteri disponibili tramite questa fonte.
abstract OpenFontDataStream() Questo metodo dovrebbe aprire il flusso con i dati dei caratteri su richiesta.

Osservazioni

Per utilizzare l’origine del font stream è necessario creare una classe derivata daStreamFontSource e fornire l’implementazione delOpenFontDataStream metodo.

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

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

Esempi

Mostra come caricare i caratteri dallo stream.

{
    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 del font solo quando richiesto invece di salvarli in 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