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;