PDFium Delphi Component Docs

LinkZOrderAtPoint Método

Componente: TPdf  ·  Unidad: PDFium
Ejecuta una prueba de impacto de una coordenada en espacio de página contra las anotaciones de enlace nativas y devuelve el orden z del enlace que cubre ese punto

Syntax

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

X, YDouble. Punto en unidades de página PDF, con el origen en la esquina inferior izquierda de la página
ResultInteger. El orden z del enlace que cubre el punto según lo reporta la prueba de impacto nativa, o -1 cuando ningún enlace lo cubre

Description

Compañero de LinkAtPoint: en lugar de una respuesta de sí/no, la prueba de impacto nativa (FPDFLink_GetLinkZOrderAtPoint) devuelve el orden z del enlace encontrado en la coordenada. Cuando varios enlaces se superponen, el orden z identifica a cuál debe atender el visor en esa posición

La prueba se ejecuta dentro de PDFium, por lo que respeta la geometría real de cuádruples puntos de las anotaciones de enlace en lugar de los cuadros delimitadores expuestos por LinkAnnotation — un enlace que sigue texto ajustado por líneas se empareja según su forma real

Un resultado de -1 significa que el punto no está sobre ningún enlace. La llamada requiere que la página actual esté activa. Convierta primero la posición del mouse a unidades de página con 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