PDFium Delphi Component Docs

Метод LinkAtPoint

Компонент: TPdf  ·  Модуль: PDFium
Проверяет попадание координаты страницы по собственным аннотациям-ссылкам текущей страницы

Syntax

function LinkAtPoint(X, Y: Double): Boolean;

X, YDouble. Точка в единицах страницы PDF с началом координат в левом нижнем углу страницы
ResultBoolean. True, если эту точку покрывает аннотация-ссылка

Description

Спрашивает сам PDFium о наличии ссылки вместо просмотра прямоугольников LinkAnnotation. Собственная проверка учитывает квадро-точки аннотации, поэтому ссылка, следующая за перенесённым текстом, сопоставляется по своей фактической форме, а не по ограничивающему прямоугольнику

Он отвечает только о наличии. Чтобы прочитать назначение или URI, пройдите по LinkAnnotation и LinkAnnotationCount либо используйте WebLink для URL, автоматически обнаруженных в тексте страницы

Перед вызовом преобразуйте позицию мыши в единицы страницы с помощью DeviceToPage

Example

var PX, PY: Double;
if Pdf.DeviceToPage(X, Y, 0, 0, W, H, ro0, PX, PY) then
  if Pdf.LinkAtPoint(PX, PY) then
    Screen.Cursor := crHandPoint;

See Also

LinkAnnotation, LinkAnnotationCount, WebLink, DeviceToPage