PDFium Delphi Component Docs

LinkZOrderAtPoint Méthode

Composant: TPdf  ·  Unit: PDFium
Effectue un hit-test d’une coordonnée de l’espace de page par rapport aux annotations de lien natives et renvoie l’ordre z du lien couvrant ce point

Syntax

function LinkZOrderAtPoint(X, Y: Double): Integer;

X, YDouble. Point en unités de page PDF, l’origine étant située dans le coin inférieur gauche de la page
ResultInteger. Ordre z du lien couvrant le point tel que rapporté par le hit-test natif, ou -1 lorsqu’aucun lien ne le couvre

Description

Compagnon de LinkAtPoint : au lieu d’une simple réponse oui/non, le hit-test natif (FPDFLink_GetLinkZOrderAtPoint) renvoie l’ordre z du lien trouvé à la coordonnée. Lorsque plusieurs liens se chevauchent, l’ordre z identifie celui sur lequel la visionneuse doit agir à cette position

Le test s’exécute à l’intérieur de PDFium et respecte donc la géométrie quad-point réelle des annotations de lien plutôt que les rectangles englobants exposés par LinkAnnotation — un lien qui suit du texte renvoyé à la ligne est apparié selon sa forme réelle

Un résultat de -1 signifie que le point ne se trouve sur aucun lien. L’appel exige que la page courante soit active. Convertissez d’abord une position de souris en unités de page avec DeviceToPage

Remarks

Example

var PX, PY: Double;
begin
  if Pdf1.DeviceToPage(MouseX, MouseY, 0, 0, W, H, ro0, PX, PY) then
  begin
    Memo1.Lines.Add('Link z-order: ' + IntToStr(Pdf1.LinkZOrderAtPoint(PX, PY)));
    // -1 means the point is not covered by any link
  end;
end;

See Also

LinkAtPoint, LinkAnnotation, LinkAnnotationCount, FormFieldZOrderAtPoint, DeviceToPage