PDFium Delphi Component 文件

LinkAtPoint 方法

组件: TPdf  ·  单元: PDFium
用页面坐标对当前页的原生链接注释做命中测试

Syntax

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

X, YDouble。以 PDF 页面单位计的点,原点在页面左下角
ResultBoolean。链接注释覆盖该点时为 True

Description

直接询问 PDFium 是否存在链接,而非扫描 LinkAnnotation 的矩形。原生测试尊重注释的四边形点,因此跟随换行文本的链接按其实际形状匹配,而非其外接框

它只回答存在与否。要读取目标或 URI,遍历 LinkAnnotationLinkAnnotationCount;页面文本中自动检测的 URL 用 WebLink

调用前用 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