Font

Font class

表示字体对象。

public sealed class Font

特性

姓名 描述
BaseFont { get; } 获取 PDF 字体对象的 BaseFont 值。也称为字体的 PostScript 名称。
DecodedFontName { get; } 有时 PDF 字体(通常是中文/日文/韩文字体)可能有特定的字体名称。 此名称是 PDF 字体属性“BaseFont”的值,有时此属性 可以以十六进制形式表示。如果直接读取此名称,它可能会以不可读的形式表示 。为了获得可读的形式,有必要通过特定于该字体的 规则来解码字体的名称。 此属性返回解码后的字体名称,因此在遇到 不可读的情况时使用它FontName. 如果属性FontName具有可读形式此属性将与 相同FontName,因此您可以在需要 以可读形式获取字体名称的任何情况下使用此属性。
FontName { get; } 获取字体名称Font对象.
FontOptions { get; } 调整字体行为的有用属性
IsAccessible { get; } 获取系统中是否存在(安装)字体。
IsEmbedded { get; set; } 获取或设置一个指示字体是否嵌入的值。
IsSubset { get; set; } 获取或设置一个表示字体是否为子集的值。

方法

姓名 描述
GetLastFontEmbeddingError() 此方法的目标 - 如果尝试 嵌入字体失败,则返回错误描述。如果没有错误情况,则返回空字符串。
MeasureString(string, float) 测量字符串。
Save(Stream) 将字体保存到流中。 请注意,字体保存为中间 TTF 格式,仅用于原始文档的转换副本。 字体文件不打算在原始文档上下文之外使用。

例子

该示例演示了如何在第一页上搜索文本并更改第一次搜索出现的字体。

// 打开文档
Document doc = new Document(@"D:\Tests\input.pdf");

// 创建 TextFragmentAbsorber 对象以查找所有“hello world”文本出现
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");

// 接受第一页的吸收器
doc.Pages[1].Accept(absorber);

// 创建字体并将其标记为嵌入
Font font = FontRepository.FindFont("Arial");
font.IsEmbedded = true;

// 更改第一个文本出现的字体
absorber.TextFragments[1].TextState.Font = font;


// 保存文档
doc.Save(@"D:\Tests\output.pdf"); 

也可以看看