property WebLink[PageNumber, Index: Integer]: TWebLink; // read only
WebLink renvoie un enregistrement TWebLink pour l’URL détectée au
PageNumber à base 1 et à l’Index à base 0 spécifiés. L’enregistrement
contient la chaîne Url (généralement http://,
https:// ou mailto:), un tableau Rectangles de
boîtes englobantes TPdfRectangle — un rectangle par ligne visuelle, puisque
PDFium rapporte des rectangles distincts lorsqu’une seule URL s’étend sur plusieurs lignes —
ainsi que la plage de caractères de la page de texte StartCharIndex et
CharCount couverte par le lien
Index va de 0 à WebLinkCount[PageNumber] - 1
Hors de cet intervalle PDFium renvoie un enregistrement vide (Url est vide,
Rectangles vaut nil). La détection des liens Web s’exécute paresseusement à la première lecture d’une
page donnée et est mise en cache jusqu’au rechargement de la page ; la lecture de WebLink elle-même est
en O(1) une fois l’analyse terminée
WebLink complète LinkAnnotation, qui expose les annotations
/Link explicites déclarées par l’auteur du PDF. Utilisez les rectangles pour
construire des superpositions cliquables sur un moteur de rendu personnalisé, ou pour mettre en évidence les URL dans le
texte extrait. Les données sont en lecture seule — PDFium Delphi Component expose des résultats de détection, pas
des primitives de modification. Pour insérer de véritables annotations de lien, utilisez le
chemin FPDFPage_CreateAnnot sur le handle Page sous-jacent
TPdfView.PageToScreen pour superposer du HTML ou d’autres widgetsTPdfView.OnAnnotationLinkClick et
TPdfView.OnWebLinkClick
var Link: TWebLink;
var I: Integer;
for I := 0 to Pdf1.WebLinkCount[1] - 1 do
begin
Link := Pdf1.WebLink[1, I];
Memo1.Lines.Add(Format('%s (%d rects)',
[Link.Url, Length(Link.Rectangles)]));
end;