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