PDFium Delphi Component Docs

LinkZOrderAtPoint Methode

Komponente: TPdf  ·  Unit: PDFium
Führt einen Treffertest einer Seitenraum-Koordinate gegen die nativen Link-Anmerkungen durch und liefert die Z-Ordnung des Links, der diesen Punkt abdeckt

Syntax

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

X, YDouble. Punkt in PDF-Seiteneinheiten, mit dem Ursprung an der unteren linken Ecke der Seite
ResultInteger. Die Z-Ordnung des den Punkt abdeckenden Links laut dem nativen Treffertest oder -1, wenn kein Link ihn abdeckt

Beschreibung

Ergänzung zu LinkAtPoint: Statt einer schlichten Ja/Nein-Antwort liefert der native Treffertest (FPDFLink_GetLinkZOrderAtPoint) die Z-Ordnung des an der Koordinate gefundenen Links. Überlappen sich mehrere Links, identifiziert die Z-Ordnung, auf welchen der Viewer an dieser Position reagieren sollte

Der Test läuft innerhalb von PDFium, sodass er die tatsächliche Quad-Punkt-Geometrie der Link-Anmerkungen berücksichtigt und nicht die von LinkAnnotation aufgedeckten Begrenzungsboxen — ein Link, der umgebrochenem Text folgt, wird an seiner echten Form erkannt

Ein Ergebnis von -1 bedeutet, dass der Punkt auf keinem Link liegt. Der Aufruf setzt voraus, dass die aktuelle Seite aktiv ist. Wandeln Sie eine Mausposition vorher mit DeviceToPage in Seiteneinheiten um

Hinweise

Beispiel

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;

Siehe auch

LinkAtPoint, LinkAnnotation, LinkAnnotationCount, FormFieldZOrderAtPoint, DeviceToPage