使用后备字体在 .NET 中渲染演示文稿
Contents
[
Hide
]
下面的示例包括以下步骤:
- 我们创建后备字体规则集合。
- 使用Remove()移除后备字体规则,并使用AddFallBackFonts()添加到另一个规则。
- 将规则集合设置为FontsManager.FontFallBackRulesCollection属性。
- 使用Presentation.Save()方法,我们可以将演示文稿保存为相同的格式,或保存为其他格式。在将后备字体规则集合设置到FontsManager后,这些规则会在对演示文稿的任何操作中生效:保存、渲染、转换等。
// 创建规则集合的新实例
IFontFallBackRulesCollection rulesList = new FontFallBackRulesCollection();
// create a number of rules
rulesList.Add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));
//rulesList.Add(new FontFallBackRule(...));
foreach (IFontFallBackRule fallBackRule in rulesList)
{
// 尝试从已加载的规则中移除后备字体 "Tahoma"
fallBackRule.Remove("Tahoma");
// 并为指定范围更新规则
if ((fallBackRule.RangeEndIndex >= 0x4000) && (fallBackRule.RangeStartIndex < 0x5000))
fallBackRule.AddFallBackFonts("Verdana");
}
// 我们也可以从列表中移除任何现有规则
if (rulesList.Count > 0)
rulesList.Remove(rulesList[0]);
using (Presentation pres = new Presentation("input.pptx"))
{
// 为使用分配准备好的规则列表
pres.FontsManager.FontFallBackRulesCollection = rulesList;
// 使用已初始化的规则集合渲染缩略图并保存为 PNG
using (IImage image = pres.Slides[0].GetImage(1f, 1f))
{
image.Save("Slide_0.png", ImageFormat.Png);
}
}
阅读更多关于演示文稿的保存和转换的信息。