property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
LinkAnnotationCount liefert die Anzahl der Einträge vom Untertyp /Link auf der
Seite, die über das einsbasierte Argument PageNumber angegeben wird (Abschnitt
12.5.6.5 der PDF-1.7-Spezifikation). Im Unterschied zu AnnotationCount, das auf die aktuell
aktive Seite beschränkt ist und jeden Anmerkungs-Untertyp zählt, zielt diese indizierte Eigenschaft direkt auf eine
beliebige Seite und filtert auf Link-Anmerkungen — die Einträge, die einen
klickbaren Bereich um Text oder Grafik legen und auf ein Ziel, eine URI, eine
Startaktion oder eine benannte Aktion verweisen
Übergeben Sie PageNumber im Bereich 1 .. PageCount. Der Wert ist
0, wenn Active gleich False ist, wenn der Seitenindex
ungültig ist oder wenn die Seite schlicht keine Link-Anmerkungen enthält. PDFium Delphi Component legt
“automatisch erkannte” Web-URLs zusätzlich über WebLinkCount
offen — diese stammen aus dem Scan nach Textmustern und zählen nicht zu LinkAnnotationCount
Verwenden Sie LinkAnnotation[PageNumber, Index] mit Indizes von 0
bis LinkAnnotationCount[PageNumber] - 1, um einen
TLinkAnnotation-Record zu erhalten — Begrenzungsrechteck, Zielseitennummer,
Aktionstyp, Viereckspunkte für mehrzeilige Links und die aufgelöste Aktionsnutzlast.
Das Laden der Link-Metadaten liegt bei O(n) pro Seite; cachen Sie, wenn Sie viele
Seiten durchlaufen
Index der meisten Array-artigen IndexerWebLinkCount, wenn Sie ein vereinheitlichtes
“klickbare Hotspots”-Overlay in einem eigenen Viewer umsetzen0, statt eine Ausnahme auszulösen — sicher verwendbar
in Thread-Prüfungen ohne umschließendes try/except
var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
begin
Link := Pdf1.LinkAnnotation[P, I];
Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
end;