property WebLink[PageNumber, Index: Integer]: TWebLink; // read only
WebLink یک رکورد TWebLink را برای URL شناساییشده در
PageNumber مبتنی بر 1 و Index مبتنی بر 0 مشخصشده برمیگرداند. این رکورد
رشتهٔ Url (معمولاً http://،
https:// یا mailto:)، یک آرایهٔ Rectangles از کادرهای محیطی
TPdfRectangle — بهازای هر خط بصری یک مستطیل، چون
PDFium وقتی یک URL در چند خط شکسته شود مستطیلهای جداگانه گزارش میدهد —
و بازهٔ نویسهای StartCharIndex و CharCount روی صفحهٔ متنی که
لینک پوشش میدهد را در خود دارد
Index از 0 تا WebLinkCount[PageNumber] - 1 را میپوشاند
بیرون از این بازه PDFium یک رکورد خالی برمیگرداند (Url خالی است،
Rectangles برابر nil). شناسایی وبلینک بهصورت lazy در نخستین خوانش برای
یک صفحهٔ مشخص اجرا میشود و تا بازخوانی صفحه در کش میماند؛ خود خواندن WebLink پس از
کامل شدن پویش از مرتبهٔ O(1) است
WebLink مکمل LinkAnnotation است که حاشیهنویسیهای صریح
/Link اعلامشده توسط نویسندهٔ PDF را افشا میکند. از مستطیلها برای
ساخت روکشهای کلیکپذیر روی یک رندرکنندهٔ سفارشی یا برای هایلایت کردن URLها در متن
استخراجشده استفاده کنید. دادهها فقطخواندنیاند — PDFium Delphi Component نتایج شناسایی را افشا میکند، نه
ابتداییهای تغییر. برای درج حاشیهنویسی لینک واقعی از مسیر
FPDFPage_CreateAnnot روی هندل Page زیرین استفاده کنید
TPdfView.PageToScreen تبدیل بگیریدTPdfView.OnAnnotationLinkClick و هم
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;