FontSavingArgs

FontSavingArgs class

Tillhandahåller data förFontSaving händelse.

För att lära dig mer, besökSpara ett dokument dokumentationsartikel.

public class FontSavingArgs

Egenskaper

namnBeskrivning
Bold { get; }Indikerar om det aktuella teckensnittet är fetstilt.
Document { get; }Hämtar dokumentobjektet som sparas.
FontFamilyName { get; }Indikerar det aktuella teckensnittets efternamn.
FontFileName { get; set; }Hämtar eller ställer in filnamnet (utan sökväg) där typsnittet ska sparas.
FontStream { get; set; }Tillåter att ange strömmen där teckensnittet ska sparas.
IsExportNeeded { get; set; }Tillåter att ange om det aktuella teckensnittet kommer att exporteras som en teckensnittsresurs. Standard ärSann .
IsSubsettingNeeded { get; set; }Tillåter att ange om det aktuella teckensnittet kommer att underordnas innan det exporteras som en teckensnittsresurs.
Italic { get; }Indikerar om det aktuella teckensnittet är kursivt.
KeepFontStreamOpen { get; set; }Anger om Aspose.Words ska hålla strömmen öppen eller stänga den efter att ha sparat ett teckensnitt.
OriginalFileName { get; }Hämtar det ursprungliga teckensnittsfilnamnet med ett tillägg.
OriginalFileSize { get; }Får den ursprungliga teckensnittsfilstorleken.

Anmärkningar

När Aspose.Words sparar ett dokument till HTML eller relaterade format ochExportFontResources är inställd påSann, sparar varje teckensnittsämne för export till en separat fil.

FontSavingArgs styr om en viss typsnittsresurs ska exporteras och hur.

FontSavingArgstillåter också att omdefiniera hur teckensnittsfilnamn genereras eller att helt kringgå lagring av teckensnitt i filer genom att tillhandahålla dina egna strömobjekt.

För att bestämma om du vill spara en viss typsnittsresurs, användIsExportNeeded fast egendom.

För att spara teckensnitt i strömmar istället för filer, användFontStream fast egendom.

Exempel

Visar hur man definierar anpassad logik för att exportera teckensnitt när man sparar till HTML.

public void SaveExportedFonts()
{
    Document doc = new Document(MyDir + "Rendering.docx");

    // Konfigurera ett SaveOptions-objekt för att exportera teckensnitt till separata filer.
    // Ställ in en återuppringning som kommer att hantera teckensnittssparande på ett anpassat sätt.
    HtmlSaveOptions options = new HtmlSaveOptions
    {
        ExportFontResources = true,
        FontSavingCallback = new HandleFontSaving()
    };

    // Återuppringningen kommer att exportera .ttf-filer och spara dem tillsammans med utdatadokumentet.
    doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);

    foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
    {
        Console.WriteLine(fontFilename);
    }

}

/// <summary>
/// Skriver ut information om exporterade teckensnitt och sparar dem i samma lokala systemmapp som deras utdata .html.
/// </summary>
public class HandleFontSaving : IFontSavingCallback
{
    void IFontSavingCallback.FontSaving(FontSavingArgs args)
    {
        Console.Write($"Font:\t{args.FontFamilyName}");
        if (args.Bold) Console.Write(", bold");
        if (args.Italic) Console.Write(", italic");
        Console.WriteLine($"\nSource:\t{args.OriginalFileName}, {args.OriginalFileSize} bytes\n");

        // Vi kan också komma åt källdokumentet härifrån.
        Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));

        Assert.True(args.IsExportNeeded);
        Assert.True(args.IsSubsettingNeeded);

        // Det finns två sätt att spara ett exporterat teckensnitt.
        // 1 - Spara den på en lokal filsystemsplats:
        args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();

        // 2 - Spara det i en stream:
        args.FontStream =
            new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
        Assert.False(args.KeepFontStreamOpen);
    }
}

Se även