StreamFontSource

StreamFontSource class

Clase base para fuente de fuente de transmisión definida por el usuario.

public abstract class StreamFontSource : FontSourceBase

Propiedades

Nombre Descripción
CacheKey { get; } La clave de esta fuente en el caché.
Priority { get; } Devuelve la prioridad de origen de la fuente.
Type { get; } Devuelve el tipo de fuente fuente.
WarningCallback { get; set; } Llamado durante el procesamiento del origen de la fuente cuando se detecta un problema que podría resultar en la pérdida de fidelidad del formato.

Métodos

Nombre Descripción
GetAvailableFonts() Devuelve la lista de fuentes disponibles a través de esta fuente.
abstract OpenFontDataStream() Este método debería abrir la secuencia con datos de fuentes a pedido.

Observaciones

Para usar la fuente de fuente de flujo, debe crear una clase derivada delStreamFontSource y proporcionar la implementación delOpenFontDataStream método.

OpenFontDataStreamEl método podría llamarse varias veces. Por primera vez, se llamará cuando Aspose.Words analice las fuentes de fuentes proporcionadas para obtener la lista de fuentes disponibles. Posteriormente se puede llamar si la fuente se usa en el documento para analizar los datos de la fuente y para incrustar los datos de la fuente en algunos formatos de salida.

StreamFontSource puede ser útil porque permite cargar los datos de la fuente solo cuando se requiere y no almacenarlos en la memoria para elFontSettings toda la vida.

Ejemplos

Muestra cómo cargar fuentes desde la transmisión.

{
    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>
/// Cargue los datos de la fuente solo cuando sea necesario en lugar de almacenarlos en la memoria
/// durante toda la vida útil del objeto "FontSettings".
/// </summary>
private class StreamFontSourceFile : StreamFontSource
{
    public override Stream OpenFontDataStream()
    {
        return File.OpenRead(FontsDir + "Kreon-Regular.ttf");
    }
}

Ver también