property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
LinkAnnotationCount zwraca liczbę wpisów podtypu /Link na stronie
wskazanej argumentem PageNumber liczonym od jeden (specyfikacja PDF 1.7,
sekcja 12.5.6.5). W przeciwieństwie do AnnotationCount, które ogranicza się
do bieżącej aktywnej strony i liczy wszystkie podtypy adnotacji, ta indeksowana
właściwość odwołuje się bezpośrednio do dowolnej strony i filtruje wyłącznie adnotacje
linków — wpisy, które opakowują klikalny obszar wokół tekstu lub grafiki
i wskazują cel, URI, akcję launch lub akcję nazwaną
Przekazuj PageNumber z zakresu 1 .. PageCount. Wartość
wynosi 0, gdy Active ma wartość False, gdy
indeks strony jest nieprawidłowy albo gdy strona po prostu nie zawiera adnotacji
linków. PDFium Delphi Component udostępnia także osobno adresy URL sieci Web
“wykryte automatycznie” przez WebLinkCount
— pochodzą one ze skanowania wzorców tekstu i nie wchodzą w skład
LinkAnnotationCount
Użyj LinkAnnotation[PageNumber, Index] z indeksami od 0
do LinkAnnotationCount[PageNumber] - 1, aby pobrać rekord
TLinkAnnotation — prostokąt otaczający, numer strony docelowej,
typ akcji, punkty czworokąta dla linków wielowierszowych oraz rozstrzygnięte dane
akcji. Ładowanie metadanych linków ma złożoność O(n) na stronę; zapisuj
wyniki do pamięci podręcznej przy iteracji po wielu stronach
Index w
większości indeksatorów tablicowychWebLinkCount, gdy implementujesz ujednoliconą nakładkę
“klikalnych punktów aktywnych” we własnej przeglądarce dokumentów0 zamiast zgłaszać wyjątek —
bezpieczne w użyciu w sondażach wątkowych bez otaczającego try/except
var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
begin
Link := Pdf1.LinkAnnotation[P, I];
Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
end;