property WebLinkCount[PageNumber: Integer]: Integer; // read only
WebLinkCount شمار الگوهای URLی را گزارش میکند که PDFium با اسکن صفحهٔ متنیِ
رندرشده روی صفحهای که آرگومان PageNumber (با مبنای 1) مشخص میکند
کشف کرده است. برخلاف LinkAnnotationCount — که حاشیهنویسیهای /Link
صریحِ تعریفشده از سوی نویسندهٔ PDF را میشمارد — WebLinkCount نشانیهایی را آشکار میکند که
بهصورت متن ساده ظاهر میشوند (مانند https://example.com) اما در
حاشیهنویسی کلیکخور پیچیده نشدهاند. PDFium از تطبیق الگو
(FPDFLink_LoadWebLinks روی یک FPDF_TEXTPAGE) برای کشف
http، https، mailto: و چند طرح
URI رایج دیگر استفاده میکند
این مقدار وقتی 0 است که Active برابر False باشد یا
هیچ الگوی URL یافت نشود. PageNumber را در بازهٔ
1 .. PageCount بفرستید. WebLinkCount لایهٔ تشخیص خودکاری را تغذیه میکند که
TPdfView.OnWebLinkClick و گزینهٔ loAutoOpenURI به کار میبرند —
هر دو به همین نتایج اسکن تکیه میکنند
برای بازیابی یک رکورد TWebLink از WebLink[PageNumber, Index] استفاده کنید
(رشتهٔ URL بهعلاوهٔ آرایهای از کادرهای محیطی TPdfRectangle،
یکی بهازای هر خط چون یک URL ممکن است بشکند). اسکنها تا بارگذاری مجدد صفحه بهازای هر صفحه در حافظهٔ نهان
میمانند، پس خواندنهای مکرر WebLinkCount ارزاناند؛ نخستین خواندن برای صفحهای معین
اسکن واقعی را انجام میدهد
LinkAnnotationCount ناصفر و هم یک
WebLinkCount ناصفر برای همان URL برگردانند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;