Документация PDFiumPas

WebLinkCount Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Number of auto-detected web URLs identified by scanning a page's text.

Синтаксис

property WebLinkCount[PageNumber: Integer]: Integer; // read only

Описание

WebLinkCount сообщает количество шаблонов URL, обнаруженных PDFium на странице, определенной по 1-базовому аргументу 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 дешевы; первое чтение для данной страницы выполняет фактическое сканирование

Примечания

Пример

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;

См. также

WebLink, LinkAnnotationCount, TPdfView.OnWebLinkClick, TPdfView.LinkOptions