property WebLink[PageNumber, Index: Integer]: TWebLink; // read only
WebLink restituisce un record TWebLink per l'URL rilevato in
corrispondenza del PageNumber specificato con base uno e dell'Index con base zero. Il record
contiene la stringa Url (tipicamente http://,
https:// o mailto:), un array Rectangles di
bounding box TPdfRectangle — un rettangolo per riga visiva, poiché
PDFium riporta rettangoli separati quando un singolo URL va a capo su più righe —
e l'intervallo di caratteri StartCharIndex e CharCount della
pagina di testo coperto dal collegamento.
Index va da 0 a WebLinkCount[PageNumber] - 1
Al di fuori di quell'intervallo PDFium restituisce un record vuoto (Url è vuota,
Rectangles è nil). Il rilevamento dei collegamenti web viene eseguito in modo lazy alla
prima lettura di una data pagina e viene memorizzato in cache finché la pagina non viene ricaricata; la lettura
di WebLink stessa è O(1) dopo il completamento della scansione.
WebLink si affianca a LinkAnnotation, che espone le annotazioni
/Link esplicite dichiarate dall'autore del PDF. Usare i rettangoli per
costruire overlay cliccabili su un renderer personalizzato, o per evidenziare gli URL nel testo
estratto. I dati sono in sola lettura — PDFium Delphi Component espone i risultati del
rilevamento, non primitive di modifica. Per inserire vere annotazioni di
collegamento, usare il percorso FPDFPage_CreateAnnot sull'handle
Page sottostante.
TPdfView.PageToScreen per sovrapporre HTML o altri widget.TPdfView.OnAnnotationLinkClick sia
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;