FontSaving
Innehåll
[
Dölj
]IFontSavingCallback.FontSaving method
Anropades när Aspose.Words ska spara en teckensnittsresurs.
public void FontSaving(FontSavingArgs args)
Exempel
Visar hur man definierar anpassad logik för export av 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 återanropning som hanterar teckensnittssparning på ett anpassat sätt.
HtmlSaveOptions options = new HtmlSaveOptions
{
ExportFontResources = true,
FontSavingCallback = new HandleFontSaving()
};
// Återanropet exporterar .ttf-filer och sparar 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 det till en lokal filsystemplats:
args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();
// 2 - Spara det till en ström:
args.FontStream =
new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
Assert.False(args.KeepFontStreamOpen);
}
}
Se även
- class FontSavingArgs
- interface IFontSavingCallback
- namnutrymme Aspose.Words.Saving
- hopsättning Aspose.Words