/Link-Annotationseinträge auf einer bestimmten Seiteproperty LinkAnnotationCount[PageNumber: Integer]: Integer; // nur lesbar
LinkAnnotationCount gibt die Anzahl der Einträge vom Subtyp /Link auf
der durch das 1-basierte Argument PageNumber identifizierten Seite zurück
(PDF 1.7 spec section 12.5.6.5) Anders als AnnotationCount, das auf die
aktuell aktive Seite beschränkt ist und jeden Annotation-Subtyp zählt, zielt diese
indizierte Eigenschaft direkt auf jede beliebige Seite und filtert nur Link-Annotationen
— die Einträge, die einen klickbaren Bereich um Text oder Grafiken 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 False ist, wenn der
Seitenindex ungültig ist oder wenn die Seite schlicht keine Link-Annotationen enthält
PDFiumPas stellt “automatisch erkannte” Web-URLs außerdem separat über
WebLinkCount bereit — diese stammen aus der Textmuster-Suche und
gehören nicht zu LinkAnnotationCount
Verwenden Sie LinkAnnotation[PageNumber, Index] mit Indizes von
0 bis LinkAnnotationCount[PageNumber] - 1, um einen
TLinkAnnotation-Datensatz abzurufen — Begrenzungsrechteck, Zielseiten-
nummer, Aktionstyp, Viereckpunkte für mehrzeilige Links und die aufgeladene
Aktionsnutzlast Das Laden von Link-Metadaten ist pro Seite O(n); cachen Sie
das Ergebnis bei der Iteration über viele Seiten
PageNumber ist 1-basiert, um der Art zu entsprechen, wie Benutzer
Seitenzahlen angeben; es unterscheidet sich vom 0-basierten Index
der meisten arrayartigen IndexerWebLinkCount, wenn Sie in einem benutzerdefinierten
Viewer ein einheitliches Overlay für “klickbare Hotspots”
implementieren0 statt eine Ausnahme auszulösen —
sicher für die Verwendung in nebenläufigen Prüfungen ohne try/except-Block
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;