property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
LinkAnnotationCount renvoie le nombre d’entrées de sous-type /Link sur la page identifiée par l’argument PageNumber (spécification PDF 1.7, section 12.5.6.5). Contrairement à AnnotationCount, qui se limite à la page actuellement active et compte chaque sous-type d’annotation, cette propriété indexée vise directement n’importe quelle page et ne filtre que les annotations de lien — les entrées qui enveloppent une zone cliquable autour du texte ou des graphiques et pointent vers une destination, une URI, une action de lancement ou une action nommée
Passez un PageNumber dans la plage 1 .. PageCount. La valeur est 0 quand Active vaut False, lorsque l’index de page est invalide, ou lorsque la page ne contient simplement aucune annotation de lien. PDFium Delphi Component expose également séparément les URL web « auto-détectées » via WebLinkCount — elles proviennent d’une analyse de motifs textuels et ne font pas partie de LinkAnnotationCount
Utilisez LinkAnnotation[PageNumber, Index] avec des indices de 0 à LinkAnnotationCount[PageNumber] - 1 pour récupérer un enregistrement TLinkAnnotation — rectangle englobant, numéro de page cible, type d’action, points quadrilatéraux pour les liens multilignes et charge utile d’action résolue. Le chargement des métadonnées de liens est en O(n) par page ; mettez en cache quand vous itérez sur de nombreuses pages
Index de base 0 sur la plupart des indexeurs de style tableauWebLinkCount lors de l’implémentation d’une superposition unifiée de « zones cliquables » dans une visionneuse personnalisée0 plutôt que de lever — sûr à utiliser dans des sondes threadées sans try/except englobant
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;