StreamFontSource

StreamFontSource class

Basklass för användardefinierad strömteckensnittskälla.

public abstract class StreamFontSource : FontSourceBase

Egenskaper

namn Beskrivning
CacheKey { get; } Nyckeln till denna källa i cachen.
Priority { get; } Returnerar teckensnittskällans prioritet.
Type { get; } Returnerar typen av teckensnittskälla.
WarningCallback { get; set; } Anropas under bearbetning av teckensnittskällan när ett problem upptäcks som kan resultera i förlust av formatering.

Metoder

namn Beskrivning
GetAvailableFonts() Returnerar en lista över teckensnitt som är tillgängliga via den här källan.
abstract OpenFontDataStream() Den här metoden bör öppna flödet med teckensnittsdata på begäran.

Anmärkningar

För att använda strömfontkällan bör du skapa en härledd klass frånStreamFontSource och tillhandahålla implementering avOpenFontDataStream metod.

OpenFontDataStreammetod kan kallas flera gånger. För första gången kommer det att kallas när Aspose.Words skannar de medföljande teckensnittskällorna för att få en lista över tillgängliga teckensnitt. Senare kan det kallas om teckensnittet används i dokumentet för att analysera teckensnittsdata och för att bädda in teckensnittsdata i vissa utdataformat.

StreamFontSource kan vara användbart eftersom det gör det möjligt att ladda teckensnittsdata endast när det krävs och inte lagra det i minnet förFontSettings livstid.

Exempel

Visar hur man laddar typsnitt från 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>
/// Ladda teckensnittsdata endast när det behövs istället för att lagra det i minnet
/// under hela livslängden för objektet "FontSettings".
/// </summary>
private class StreamFontSourceFile : StreamFontSource
{
    public override Stream OpenFontDataStream()
    {
        return File.OpenRead(FontsDir + "Kreon-Regular.ttf");
    }
}

Se även