property WebLinkCount[PageNumber: Integer]: Integer; // read only
WebLinkCount meldet die Anzahl der URL-Muster, die PDFium auf der
durch das 1-basierte PageNumber-Argument bezeichneten Seite gefunden hat, indem es die gerenderte
Textseite scannt. Anders als LinkAnnotationCount — das explizite
/Link-Annotationen zählt, die der PDF-Autor deklariert hat — legt WebLinkCount
URLs offen, die als plain text erscheinen (etwa https://example.com), aber
nicht in eine klickbare Annotation gepackt wurden. PDFium nutzt Mustererkennung
(FPDFLink_LoadWebLinks auf einer FPDF_TEXTPAGE), um
http, https, mailto: und eine Handvoll anderer
gängiger URI-Schemata zu finden
Der Wert ist 0, wenn Active False ist oder
kein URL-Muster gefunden wird. PageNumber im Bereich
1 .. PageCount übergeben. WebLinkCount treibt die Auto-Erkennungsschicht hinter
TPdfView.OnWebLinkClick und der Option loAutoOpenURI —
beide stützen sich auf dieselben Scan-Ergebnisse
Mit WebLink[PageNumber, Index] holen Sie einen TWebLink-
Record (die URL-Zeichenkette plus ein Array aus TPdfRectangle-Bounding-Boxen,
eine je Zeile, da eine einzelne URL umbrechen kann). Die Scans werden je Seite gecacht, bis sie neu
geladen wird; wiederholte WebLinkCount-Lesezugriffe sind also billig, und der erste Lesezugriff je
Seite macht den eigentlichen Scan
LinkAnnotationCount als auch ein
nicht-nuller WebLinkCount zurückTPdfView.OnWebLinkClick anmelden und den Handled-
Parameter auf True setzen
var P, I: Integer;
var Link: TWebLink;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.WebLinkCount[P] - 1 do
begin
Link := Pdf1.WebLink[P, I];
Memo1.Lines.Add(Link.Url);
end;