FontSavingArgsFontStream Property |
Namespace: Aspose.Words.Saving
This property allows you to save fonts to streams instead of files during HTML export.
The default value is null. When this property is null, the font will be saved to a file specified in the FontFileName property.
public void SaveHtmlExportFonts() { Document doc = new Document(MyDir + "Rendering.docx"); // Set the option to export font resources HtmlSaveOptions options = new HtmlSaveOptions(SaveFormat.Html); options.ExportFontResources = true; // Create and pass the object which implements the handler methods options.FontSavingCallback = new HandleFontSaving(); doc.Save(ArtifactsDir + "Document.SaveHtmlExportFonts.html", options); } /// <summary> /// Prints information about fonts and saves them alongside their output .html. /// </summary> public class HandleFontSaving : IFontSavingCallback { void IFontSavingCallback.FontSaving(FontSavingArgs args) { // Print information about fonts 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"); Assert.True(args.IsExportNeeded); Assert.True(args.IsSubsettingNeeded); // We can designate where each font will be saved by either specifying a file name, or creating a new stream args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(); args.FontStream = new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create); Assert.False(args.KeepFontStreamOpen); // We can access the source document from here also Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx")); } }