function LinkAtPoint(X, Y: Double): Boolean;
| X, Y | Double. Точка в единицах страницы PDF с началом координат в левом нижнем углу страницы |
| Result | Boolean. True, если эту точку покрывает аннотация-ссылка |
Спрашивает сам PDFium о наличии ссылки вместо просмотра прямоугольников LinkAnnotation. Собственная проверка учитывает квадро-точки аннотации, поэтому ссылка, следующая за перенесённым текстом, сопоставляется по своей фактической форме, а не по ограничивающему прямоугольнику
Он отвечает только о наличии. Чтобы прочитать назначение или URI, пройдите по LinkAnnotation и LinkAnnotationCount либо используйте WebLink для URL, автоматически обнаруженных в тексте страницы
Перед вызовом преобразуйте позицию мыши в единицы страницы с помощью DeviceToPage
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;