property FontAscent[Index: Integer; FontSize: Single]: Single; // read only
FontAscent сообщает метрику ascent (подъём) шрифта, на который ссылается объект страницы по заданному индексу. Ascent — вертикальное расстояние от базовой линии вверх до самой высокой точки, которой достигают самые высокие символы шрифта (заглавные, акценты, верхние выносные элементы вроде 'l', 'h', 'k'). Результат выражен в пунктах пользовательского пространства PDF и уже отмасштабирован под переданный FontSize
Индексатор Index — это индекс объекта страницы с нуля (0..ObjectCount - 1). Второй индексатор, FontSize, — размер в пунктах PDF, для которого считается метрика. Передавайте размер, в котором собираетесь рендерить, или используйте CharacterFontSize[n], чтобы повторить размер существующего текстового прогона. Для чтения свойства страница должна быть активна
Вместе с FontDescent это даёт полную высоту строки шрифта: LineHeight := FontAscent - FontDescent (descent обычно отрицательный). PDFium возвращает 0, если у шрифта нет такой метрики или индексированный объект не текст
| Index | Индекс объекта страницы с нуля в диапазоне 0..ObjectCount - 1 |
| FontSize | Размер шрифта в пунктах PDF для масштабирования метрики. Обычно размер, в котором шрифт будет отрисован (например 10.0, 12.0) |
FontSizevar
I: Integer;
Asc: Single;
begin
Pdf1.PageNumber := 1;
for I := 0 to Pdf1.ObjectCount - 1 do
begin
Asc := Pdf1.FontAscent[I, 12.0];
if Asc > 0 then
Memo1.Lines.Add(Format('Object %d: ascent = %.2f pt', [I, Asc]));
end;
end;