property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
LinkAnnotationCount returnerar antalet poster av subtyp /Link på
sidan som det ettbaserade argumentet PageNumber identifierar
(PDF 1.7-specifikationen avsnitt 12.5.6.5). Till skillnad från
AnnotationCount, som är begränsad till den aktuella aktiva sidan och
räknar varje annoteringssubtyp, riktar sig denna indexerade egenskap direkt till
valfri sida och filtrerar fram enbart länkannoteringar — posterna som omsluter
en klickbar region runt text eller grafik och pekar på en destination, URI,
launch-åtgärd eller namngiven åtgärd
Skicka PageNumber i intervallet 1 .. PageCount. Värdet är
0 när Active är False, när sidindexet är
ogiltigt eller när sidan helt enkelt inte innehåller några länkannoteringar
PDFium Delphi Component exponerar dessutom
“autodetekterade” webb-URL:er separat via WebLinkCount
— de kommer från mönsterskanning av texten och ingår inte i LinkAnnotationCount
Använd LinkAnnotation[PageNumber, Index] med index från 0
till LinkAnnotationCount[PageNumber] - 1 för att hämta en
TLinkAnnotation-post — omslutande rektangel, målsidnummer,
åtgärdstyp, fyrhörningspunkter för flerradiga länkar och den upplösta
åtgärdspayloaden. Att läsa in länkmetadata är O(n) per sida; cachelagra
vid iteration över många sidor
Index på de flesta arrayliknande indexerareWebLinkCount när du implementerar ett sammanhängande
“klickbara hotspots”-överlägg i en egen visare0 i stället för att väcka — tryggt att
använda i trådade sonder utan omslutande 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;