/BaseFont 项,包含诸如 -Bold 或 ,Italic 之类的样式后缀property FontBaseName[Index: Integer]: WString; // read only
FontBaseName 返回存储在 PDF 字体字典中的 PostScript 基字体名,也就是 /BaseFont 键的值(PDF 1.7 section 9.6 / 9.7)。对于已嵌入的子集字体,PDFium 会保留六位字母前缀,例如 ABCDEF+Helvetica-Bold,以便该值忠实反映生成者写入的内容。若要得到去掉装饰、便于阅读的族名,请使用 FontFamilyName
索引器是 0 基页面对象索引,范围为 0..ObjectCount - 1。只有文本对象会返回非空结果,非文本对象返回空字符串。读取该属性时页面必须处于活动状态
基名是识别具体字体字形的最可靠标识,因为它把族名和样式合并成一个 token。两个文本段可能共享 FontFamilyName = Helvetica,但在这里分别显示为 Helvetica、Helvetica-Bold 或 Helvetica-Oblique
| Index | 0 基页面对象索引,范围为 0..ObjectCount - 1 |
ABCDEF+)是值的一部分,如果需要干净的名称请自行去掉Helvetica、Helvetica-Bold、Times-Roman、Times-Italic 等Arial,Bold,而不是连字符/BaseFont 时返回空字符串var
I: Integer;
Base: WString;
begin
Pdf1.PageNumber := 1;
for I := 0 to Pdf1.ObjectCount - 1 do
begin
Base := Pdf1.FontBaseName[I];
if (Base <> '') and (Pos('Bold', Base) > 0) then
Memo1.Lines.Add(Format('Object %d uses %s', [I, Base]));
end;
end;