StreamFontSource

StreamFontSource class

Classe de base pour la source de police de flux définie par l’utilisateur.

Pour en savoir plus, visitez leTravailler avec des polices article documentaire.

public abstract class StreamFontSource : FontSourceBase

Propriétés

NomLa description
CacheKey { get; }La clé de cette source dans le cache.
Priority { get; }Renvoie la priorité de la source de police.
Type { get; }Renvoie le type de la source de police.
WarningCallback { get; set; }Appelé lors du traitement de la source de police lorsqu’un problème susceptible d’entraîner une perte de fidélité du formatage est détecté.

Méthodes

NomLa description
GetAvailableFonts()Renvoie la liste des polices disponibles via cette source.
abstract OpenFontDataStream()Cette méthode devrait ouvrir le flux avec les données de police à la demande.

Remarques

Afin d’utiliser la source de police de flux, vous devez créer une classe dérivée à partir duStreamFontSource et assurer la mise en œuvre duOpenFontDataStream méthode.

OpenFontDataStreamLa méthode peut être appelée plusieurs fois. Pour la première fois, il sera appelé lorsqu’Aspose.Words analysera les sources de polices fournies pour obtenir la liste des polices disponibles. Plus tard, il peut être appelé si la police est utilisée dans le document pour analyser les données de police et pour intégrer les données de police dans certains formats de sortie.

StreamFontSource peut être utile car cela permet de charger les données de police uniquement lorsqu’elles sont requises et de ne pas les stocker en mémoire pour leFontSettings durée de vie.

Exemples

Montre comment charger les polices à partir du flux.

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>
/// Charge les données de police uniquement lorsque cela est nécessaire au lieu de les stocker dans la mémoire
/// pendant toute la durée de vie de l'objet "FontSettings".
/// </summary>
private class StreamFontSourceFile : StreamFontSource
{
    public override Stream OpenFontDataStream()
    {
        return File.OpenRead(FontsDir + "Kreon-Regular.ttf");
    }
}

Voir également