property WebLinkCount[PageNumber: Integer]: Integer; // read only
WebLinkCount は 1 始まりの PageNumber 引数で識別されるページ上で PDFium が発見した URL パターンの数を報告します。レンダリングされたテキストページを走査します。PDF 作成者が宣言した明示的な /Link 注釈をカウントする LinkAnnotationCount とは異なり、WebLinkCount はプレーンテキスト(https://example.com など)として現れるがクリック可能な注釈でラップされていない URL を表面化します。PDFium はパターンマッチング(FPDF_TEXTPAGE 上の FPDFLink_LoadWebLinks)を使って http、https、mailto: および少数の他の一般的な URI スキームを発見します
Active が False のときや URL パターンが見つからないとき、値は 0 です。1 .. PageCount の範囲で PageNumber を渡します。WebLinkCount は TPdfView.OnWebLinkClick と loAutoOpenURI オプションが使う自動検出レイヤーを駆動します。両方とも同じ走査結果に依存します
WebLink[PageNumber, Index] を使って TWebLink レコード(URL 文字列と 1 行につき 1 つの TPdfRectangle 境界ボックスの配列。1 つの URL が折り返される可能性があるため)を取得します。ページが再読み込みされるまで走査はページごとにキャッシュされるため、WebLinkCount の繰り返し読み取りは低コストです。所定のページの最初の読み取りが実際の走査を行います
LinkAnnotationCount と非ゼロの WebLinkCount の両方を返すことがありますTPdfView.OnWebLinkClick を購読し、Handled パラメーターを True に設定します
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;