PDFium Delphi Component Docs

FontHandle Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает нативный дескриптор FPDF_FONT шрифта, используемого объектом страницы. Дескриптор дает опытным вызывающим прямой доступ к API шрифтов PDFium, не обернутым компонентом

Syntax

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

Description

FontHandle возвращает сырой указатель шрифта PDFium (FPDF_FONT), связанный с текстовым объектом страницы по переданному индексу. Внутри это то, что PDFium отдаёт из FPDFTextObj_GetFont; большинство остальных свойств Font* у TPdf — FontAscent, FontDescent, FontFamilyName, FontBaseName, FontIsEmbedded, FontItalicAngle, FontWeight, FontData — просто удобные обёртки над ним

Индекс — это индекс объекта страницы с нуля в диапазоне 0..ObjectCount - 1. Шрифт несут только объекты типа text; для image, path или shading вызов вернёт nil. Перед чтением свойства страница должна быть активна

Возвращённый дескриптор принадлежит PDFium и остаётся валидным, только пока текущая страница загружена. Не освобождайте его, не храните между сменами страниц и не вызывайте на нём деструктивные API PDFium — обращайтесь с ним как с непрозрачным токеном только для чтения

Parameters

IndexИндекс объекта страницы с нуля. Сначала проверьте через ObjectType, что объект текст; не-текстовые возвращают nil

Remarks

Example

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;

See Also

FontFamilyName, FontBaseName, FontIsEmbedded, FontData, ObjectCount, ObjectType