property WebLink[PageNumber, Index: Integer]: TWebLink; // read only
WebLink liefert einen TWebLink-Record für die URL, die an der
angegebenen, auf 1 basierenden PageNumber und dem auf 0 basierenden
Index erkannt wurde. Der Record enthält den Url-String
(typischerweise http://, https:// oder
mailto:), ein Rectangles-Array aus
TPdfRectangle-Begrenzungsboxen — ein Rechteck pro Sichtzeile,
da PDFium getrennte Rechtecke meldet, wenn eine einzelne URL über mehrere
Zeilen umbricht — sowie den durch den Link abgedeckten
Textseiten-Zeichenbereich StartCharIndex und CharCount
Index läuft von 0 bis WebLinkCount[PageNumber] - 1
Außerhalb dieses Bereichs liefert PDFium einen leeren Record (Url ist leer,
Rectangles ist nil). Die Weblink-Erkennung läuft träge beim ersten Lesezugriff
für eine bestimmte Seite und wird bis zum Neuladen der Seite zwischengespeichert; das Lesen
von WebLink selbst ist nach Abschluss des Scans O(1)
WebLink ergänzt LinkAnnotation, das die vom PDF-Autor deklarierten
expliziten /Link-Anmerkungen verfügbar macht. Verwenden Sie die Rechtecke,
um Klick-Overlays in einem eigenen Renderer aufzubauen oder URLs in extrahiertem
Text hervorzuheben. Die Daten sind schreibgeschützt — PDFium Delphi Component legt
Erkennungsergebnisse offen, keine Modifikations-Primitive. Um echte Link-Anmerkungen
einzufügen, verwenden Sie den FPDFPage_CreateAnnot-Weg über das
zugrunde liegende Page-Handle
TPdfView.PageToScreen, um HTML- oder andere Widgets zu überlagernTPdfView.OnAnnotationLinkClick als auch
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;