StreamFontSource
StreamFontSource class
Базовый класс для пользовательского источника шрифтов потока.
Чтобы узнать больше, посетитеРабота со шрифтами статья документации.
public abstract class StreamFontSource : FontSourceBase
Характеристики
Имя | Описание |
---|---|
CacheKey { get; } | Ключ этого источника в кеше. |
Priority { get; } | Возвращает приоритет источника шрифта. |
Type { get; } | Возвращает тип источника шрифта. |
WarningCallback { get; set; } | Вызывается во время обработки источника шрифта при обнаружении проблемы, которая может привести к потере точности форматирования. |
Методы
Имя | Описание |
---|---|
GetAvailableFonts() | Возвращает список шрифтов, доступных через этот источник. |
abstract OpenFontDataStream() | Этот метод должен открывать поток с данными шрифта по запросу. |
Примечания
Чтобы использовать источник потокового шрифта, вам следует создать производный класс изStreamFontSource
и обеспечить реализациюOpenFontDataStream
метод.
OpenFontDataStream
метод можно вызывать несколько раз. Впервые он будет называться , когда Aspose.Words сканирует предоставленные источники шрифтов, чтобы получить список доступных шрифтов. Позже его можно вызвать, если шрифт используется в документе для анализа данных шрифта и встраивания данных шрифта в некоторые выходные форматы.
StreamFontSource
может быть полезным, поскольку позволяет загружать данные шрифта только тогда, когда это требуется , а не хранить их в памяти дляFontSettings
продолжительность жизни.
Примеры
Показывает, как загружать шрифты из потока.
public void StreamFontSourceFileRendering()
{
FontSettings fontSettings = new FontSettings();
fontSettings.SetFontsSources(new FontSourceBase[] {new StreamFontSourceFile()});
DocumentBuilder builder = new DocumentBuilder();
builder.Document.FontSettings = fontSettings;
builder.Font.Name = "Kreon-Regular";
builder.Writeln("Test aspose text when saving to PDF.");
builder.Document.Save(ArtifactsDir + "FontSettings.StreamFontSourceFileRendering.pdf");
}
/// <summary>
/// Загружаем данные шрифта только при необходимости, а не сохраняем их в памяти
/// на все время существования объекта FontSettings.
/// </summary>
private class StreamFontSourceFile : StreamFontSource
{
public override Stream OpenFontDataStream()
{
return File.OpenRead(FontsDir + "Kreon-Regular.ttf");
}
}
Смотрите также
- class FontSourceBase
- пространство имен Aspose.Words.Fonts
- сборка Aspose.Words