PDFium Delphi Component Docs

GetLinkedAnnotationChain metodas

Komponentas: TPdf  ·  Modulis: PDFium
Paeiliui seka /Popup arba /IRT ryšį ir grąžina kiekvienos pakeliui susietos anotacijos puslapio indeksą, apsaugotas nuo ciklų

Syntax

function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray;

AnnotIndexInteger. Nulinės pradžios pradinės anotacijos indeksas dabartiniame puslapyje, diapazone 0 .. AnnotationCount - 1
RelationshipTPdfAnnotationRelationship. parPopup seka /Popup įrašus; parInReplyTo seka /IRT atsakymų įrašus
MaxDepthInteger. Didžiausias sekamų saitų skaičius. Turi būti nuo 1 iki 4096, priešingu atveju iškeliamas EPdfError. Numatytoji reikšmė 64
ResultTPdfIntegerArray. Susietų anotacijų puslapio indeksai apėjimo tvarka. Tuščias, kai pradinė anotacija tokio saito neturi

Description

Pakartotinai taiko GetLinkedAnnotationIndex: nuo pradinės anotacijos seka pageidaujamu ryšiu iki kitos anotacijos, tada vėl nuo tos, sugaudamas kiekvieną pakeliui esantį indeksą. Rezultatas yra diskusijos atsakymų gija arba iššokančiųjų langų grandinė, pateikti kaip paprastas puslapio anotacijų indeksų masyvas

Apėjimas sustoja trimis sąlygomis: dabartinė anotacija daugiau neturi saito, aplankytų saitų skaičius pasiekia MaxDepth arba kitas indeksas pakartotinai rodytų jau matytą anotaciją (pradinis indeksas laikomas matytu). Ciklo apsauga daro kreipinį saugiu sugadintuose dokumentuose, kurių /IRT įrašai sudaro kilpas

Pats pradinis indeksas niekada nebūna rezultato dalis — tik anotacijos, į kurias jis veda. Anotacija be pageidaujamo saito duoda tuščią masyvą, o ne klaidą

Remarks

Example

var
  Chain: TPdfIntegerArray;
  Index: Integer;
begin
  // collect the whole reply thread under annotation 5
  Chain := Pdf1.GetLinkedAnnotationChain(5, parInReplyTo);
  for Index in Chain do
    Memo1.Lines.Add(Pdf1.Annotation[Index].ContentsText);
end;

See Also

GetLinkedAnnotationIndex, Annotation, AnnotationCount