FontSavingArgs
内容
[
隐藏
]FontSavingArgs class
提供数据FontSaving
事件.
要了解更多信息,请访问保存文档文档文章。
public class FontSavingArgs
特性
姓名 | 描述 |
---|---|
Bold { get; } | 表示当前字体是否为粗体。 |
Document { get; } | 获取正在保存的文档对象。 |
FontFamilyName { get; } | 表示当前字体系列名称。 |
FontFileName { get; set; } | 获取或设置保存字体的文件名(不带路径)。 |
FontStream { get; set; } | 允许指定保存字体的流。 |
IsExportNeeded { get; set; } | 允许指定是否将当前字体导出为字体资源。默认为真的 . |
IsSubsettingNeeded { get; set; } | 允许指定在导出为字体资源之前是否对当前字体进行子集化。 |
Italic { get; } | 指示当前字体是否为斜体。 |
KeepFontStreamOpen { get; set; } | 指定 Aspose.Words 在保存字体后是否应保持流打开或关闭它。 |
OriginalFileName { get; } | 获取带有扩展名的原始字体文件名。 |
OriginalFileSize { get; } | 获取原始字体文件大小。 |
评论
当 Aspose.Words 将文档保存为 HTML 或相关格式并ExportFontResources
设置为真的
,它将每个字体主题保存为导出到单独的文件中。
FontSavingArgs
控制是否应导出特定字体资源以及如何导出。
FontSavingArgs
还允许重新定义如何生成字体文件名,或者通过提供您自己的流对象 完全避免将字体保存到文件中。
要决定是否保存特定字体资源,请使用IsExportNeeded
财产。
要将字体保存到流而不是文件中,请使用FontStream
财产。
例子
演示如何定义保存为 HTML 时导出字体的自定义逻辑。
public void SaveExportedFonts()
{
Document doc = new Document(MyDir + "Rendering.docx");
// 配置 SaveOptions 对象以将字体导出到单独的文件。
// 设置将以自定义方式处理字体保存的回调。
HtmlSaveOptions options = new HtmlSaveOptions
{
ExportFontResources = true,
FontSavingCallback = new HandleFontSaving()
};
// 回调将导出 .ttf 文件并将它们与输出文档一起保存。
doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);
foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
{
Console.WriteLine(fontFilename);
}
}
/// <summary>
/// 打印有关导出字体的信息并将其保存在与其输出 .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");
// 我们也可以从这里访问源文档。
Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));
Assert.True(args.IsExportNeeded);
Assert.True(args.IsSubsettingNeeded);
// 有两种方法保存导出的字体。
// 1 - 将其保存到本地文件系统位置:
args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();
// 2 - 将其保存到流中:
args.FontStream =
new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
Assert.False(args.KeepFontStreamOpen);
}
}
也可以看看
- 命名空间 Aspose.Words.Saving
- 部件 Aspose.Words