FPDF_FONT 句柄,该句柄让高级调用者可以直接访问组件未封装的 PDFium 字体 APIproperty FontHandle[Index: Integer]: FPDF_FONT; // read only
FontHandle 返回与给定索引处文本页面对象关联的原始 PDFium 字体指针(FPDF_FONT)。在内部,这个值就是 PDFium 从 FPDFTextObj_GetFont 返回的结果;TPdf 上大多数其他 Font* 属性,例如 FontAscent、FontDescent、FontFamilyName、FontBaseName、FontIsEmbedded、FontItalicAngle、FontWeight、FontData,都是建立在它之上的便捷封装
索引是 0 基页面对象索引,范围为 0..ObjectCount - 1。只有文本类型对象才携带字体;对图像、路径或渐变对象,调用返回 nil。读取该属性前页面必须处于活动状态
返回的句柄归 PDFium 所有,并且只在当前页面加载期间有效。不要释放它,不要在页面切换后保存它,也不要拿它去调用破坏性的 PDFium API,应将其视为不透明、只读的 token
| Index | 0 基页面对象索引,请先用 ObjectType 确认对象是文本;非文本对象返回 nil |
FPDFFont_* 导入前,始终先检查是否为 nilFPDFFont_GetFlags 或 FPDFFont_GetFontBBoxvar
I: Integer;
H: FPDF_FONT;
begin
Pdf1.PageNumber := 1;
for I := 0 to Pdf1.ObjectCount - 1 do
begin
H := Pdf1.FontHandle[I];
if H <> nil then
Memo1.Lines.Add(Format('Object %d uses font %s',
[I, Pdf1.FontFamilyName[I]]));
end;
end;