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