PDFiumPas 文档

FontHandle 属性

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
返回页面对象所用字体的原生 FPDF_FONT 句柄,该句柄让高级调用者可以直接访问组件未封装的 PDFium 字体 API

语法

property FontHandle[Index: Integer]: FPDF_FONT; // read only

说明

FontHandle 返回与给定索引处文本页面对象关联的原始 PDFium 字体指针(FPDF_FONT)。在内部,这个值就是 PDFium 从 FPDFTextObj_GetFont 返回的结果;TPdf 上大多数其他 Font* 属性,例如 FontAscentFontDescentFontFamilyNameFontBaseNameFontIsEmbeddedFontItalicAngleFontWeightFontData,都是建立在它之上的便捷封装

索引是 0 基页面对象索引,范围为 0..ObjectCount - 1。只有文本类型对象才携带字体;对图像、路径或渐变对象,调用返回 nil。读取该属性前页面必须处于活动状态

返回的句柄归 PDFium 所有,并且只在当前页面加载期间有效。不要释放它,不要在页面切换后保存它,也不要拿它去调用破坏性的 PDFium API,应将其视为不透明、只读的 token

参数

Index0 基页面对象索引,请先用 ObjectType 确认对象是文本;非文本对象返回 nil

备注

示例

var
  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;

另请参阅

FontFamilyName, FontBaseName, FontIsEmbedded, FontData, ObjectCount, ObjectType