FontsManager

FontsManager 类

在整个演示文稿中管理字体。

public class FontsManager : IFontsManager

属性

名称描述
FontFallBackRulesCollection { get; set; }表示用户的 FontFallBack 规则集合,用于通过回退功能管理字体集合以实现适当的替换。读/写 IFontFallBackRulesCollection
FontSubstRuleList { get; set; }在渲染时使用的字体替换。读/写 IFontSubstRuleCollection

方法

名称描述
AddEmbeddedFont(byte[], EmbedFontCharacters)添加嵌入字体。请注意,在复制任何字体时,大多数字体受版权保护。请先查找字体的许可证并确认可以自由转移到其他机器。如果 font data 为 null 或该字体已嵌入,将抛出 ArgumentException。
AddEmbeddedFont(IFontData, EmbedFontCharacters)添加嵌入字体。请注意,在复制任何字体时,大多数字体受版权保护。请先查找字体的许可证并确认可以自由转移到其他机器。如果 font data 为 null 或该字体已嵌入,将抛出 ArgumentException。
GetEmbeddedFonts()返回嵌入在演示文稿中的字体
GetFontBytes(IFontData, FontStyleType)检索表示指定字体样式和字体数据的字节数组。
GetFontEmbeddingLevel(byte[], string)根据给定的字节数组和字体名称确定字体的嵌入级别。
GetFonts()返回演示文稿中使用的字体
GetSubstitutions()获取将在演示文稿渲染时被替换的字体信息。
GetSubstitutions(int[])获取在指定幻灯片渲染期间将被替换的字体信息。
RemoveEmbeddedFont(IFontData)移除嵌入的字体
ReplaceFont(IFontSubstRule)使用 FontSubstRule 中提供的信息替换演示文稿中的字体
ReplaceFont(IFontSubstRuleCollection)使用 FontSubstRule 集合中提供的信息替换演示文稿中的字体
ReplaceFont(IFontData, IFontData)替换演示文稿中的字体

示例

以下示例展示了如何将嵌入字体添加到 PowerPoint 演示文稿。

[C#]
// 加载演示文稿
using (Presentation presentation = new Presentation("Fonts.pptx"))
{
	// 加载要替换的源字体
	IFontData sourceFont = new FontData("Arial");
	IFontData[] allFonts = presentation.FontsManager.GetFonts();
	IFontData[] embeddedFonts = presentation.FontsManager.GetEmbeddedFonts();
	foreach (IFontData font in allFonts)
	{
		if (!embeddedFonts.Contains(font))
		{
			presentation.FontsManager.AddEmbeddedFont(font, EmbedFontCharacters.All);
		}
	}
	// 保存演示文稿
	presentation.Save("AddEmbeddedFont_out.pptx", SaveFormat.Pptx);
}

另请参阅