property WebLinkCount[PageNumber: Integer]: Integer; // read only
WebLinkCount повідомляє кількість шаблонів URL, які PDFium виявив на сторінці,
визначеній аргументом PageNumber з одиничною базою, скануючи відрендерений
текст сторінки. На відміну від LinkAnnotationCount — який рахує явні
анотації /Link, заявлені автором PDF, — WebLinkCount викриває
URL, що з’являються як звичайний текст (як-от https://example.com), але не
були обгорнуті в клікабельну анотацію. PDFium використовує зіставлення із шаблонами
(FPDFLink_LoadWebLinks на FPDF_TEXTPAGE), щоб виявляти
http, https, mailto: і низку інших
поширених схем URI
Значення дорівнює 0, коли Active має значення False або коли
жодного шаблону URL не знайдено. Передавайте PageNumber у діапазоні
1 .. PageCount. WebLinkCount живить шар автоматичного виявлення, який використовують
TPdfView.OnWebLinkClick і параметр loAutoOpenURI —
обидва спираються на ті самі результати сканування
Використовуйте WebLink[PageNumber, Index], щоб отримати запис
TWebLink (рядок URL плюс масив обмежувальних рамок TPdfRectangle,
по одній на рядок, бо один URL може переноситися). Сканування кешується на сторінку до її
перезавантаження, тож повторні читання WebLinkCount дешеві; перше читання для даної
сторінки виконує фактичне сканування
LinkAnnotationCount, так і
ненульовий WebLinkCount для того самого URLTPdfView.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;