IFontSavingCallback
Contenido
[
Ocultar
]IFontSavingCallback interface
Implemente esta interfaz si desea recibir notificaciones y controlar cómo Aspose.Words guarda fuentes al exportar un documento a formato HTML.
public interface IFontSavingCallback
Métodos
Nombre | Descripción |
---|---|
FontSaving(FontSavingArgs) | Se llama cuando Aspose.Words está a punto de guardar un recurso de fuente. |
Ejemplos
Muestra cómo definir una lógica personalizada para exportar fuentes al guardar en HTML.
public void SaveExportedFonts()
{
Document doc = new Document(MyDir + "Rendering.docx");
// Configurar un objeto SaveOptions para exportar fuentes a archivos separados.
// Establece una devolución de llamada que manejará el guardado de fuentes de forma personalizada.
HtmlSaveOptions options = new HtmlSaveOptions
{
ExportFontResources = true,
FontSavingCallback = new HandleFontSaving()
};
// La devolución de llamada exportará archivos .ttf y los guardará junto con el documento de salida.
doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);
foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
{
Console.WriteLine(fontFilename);
}
}
/// <summary>
/// Imprime información sobre las fuentes exportadas y las guarda en la misma carpeta del sistema local que su salida .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");
// También podemos acceder al documento fuente desde aquí.
Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));
Assert.True(args.IsExportNeeded);
Assert.True(args.IsSubsettingNeeded);
// Hay dos formas de guardar una fuente exportada.
// 1 - Guárdelo en una ubicación del sistema de archivos local:
args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();
// 2 - Guárdalo en una secuencia:
args.FontStream =
new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
Assert.False(args.KeepFontStreamOpen);
}
}
Ver también
- espacio de nombres Aspose.Words.Saving
- asamblea Aspose.Words