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
- interface
- пространство имен Aspose.Words.Fonts
- сборка Aspose.Words