KeepFontStreamOpen
Contenuti
[
Nascondere
]FontSavingArgs.KeepFontStreamOpen property
Specifica se Aspose.Words deve mantenere aperto lo stream o chiuderlo dopo aver salvato un font.
public bool KeepFontStreamOpen { get; set; }
Osservazioni
L’impostazione predefinita èfalso
e Aspose.Words chiuderà lo stream che hai fornito nel fileFontStream
proprietà dopo aver scritto un carattere al suo interno. SpecificareVERO
per mantenere aperto il flusso.
Esempi
Mostra come definire la logica personalizzata per l’esportazione dei caratteri durante il salvataggio in HTML.
public void SaveExportedFonts()
{
Document doc = new Document(MyDir + "Rendering.docx");
// Configura un oggetto SaveOptions per esportare i caratteri in file separati.
// Imposta un callback che gestirà il salvataggio dei caratteri in modo personalizzato.
HtmlSaveOptions options = new HtmlSaveOptions
{
ExportFontResources = true,
FontSavingCallback = new HandleFontSaving()
};
// La richiamata esporterà i file .ttf e li salverà insieme al documento di output.
doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);
foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
{
Console.WriteLine(fontFilename);
}
}
/// <summary>
/// Stampa le informazioni sui caratteri esportati e le salva nella stessa cartella di sistema locale del file .html di output.
/// </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");
// Possiamo anche accedere al documento sorgente da qui.
Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));
Assert.True(args.IsExportNeeded);
Assert.True(args.IsSubsettingNeeded);
// Esistono due modi per salvare un carattere esportato.
// 1 - Salvalo in una posizione del file system locale:
args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();
// 2 - Salvalo in uno stream:
args.FontStream =
new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
Assert.False(args.KeepFontStreamOpen);
}
}
Guarda anche
- class FontSavingArgs
- spazio dei nomi Aspose.Words.Saving
- assemblea Aspose.Words