PDFium Delphi Component Docs

GetLinkedAnnotationChain metodă

Component: TPdf  ·  Unit: PDFium
Parcurge repetat o relație /Popup sau /IRT și returnează indecșii de pagină ai fiecărei adnotări legate de-a lungul drumului, cu protecție împotriva ciclurilor

Syntax

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

AnnotIndexInteger. Index de la zero al adnotării de start pe pagina curentă, în intervalul 0 .. AnnotationCount - 1
RelationshipTPdfAnnotationRelationship. parPopup urmărește intrările /Popup; parInReplyTo urmărește intrările de răspuns /IRT
MaxDepthInteger. Numărul maxim de legături de urmat. Trebuie să fie între 1 și 4096, în caz contrar fiind ridicat un EPdfError. Valoarea implicită este 64
ResultTPdfIntegerArray. Indecșii de pagină ai adnotărilor legate, în ordinea vizitării. Gol când adnotarea de start nu are o astfel de legătură

Description

Aplică repetat GetLinkedAnnotationIndex: pornind de la adnotarea de start, urmărește relația cerută către adnotarea următoare, apoi din nou de la aceea, colectând fiecare index de-a lungul drumului. Rezultatul este firul de răspunsuri al unei discuții sau un lanț de popup-uri, ca un vector simplu de indecși de adnotări ale paginii

Parcurgerea se oprește din trei motive: adnotarea curentă nu mai are o legătură ulterioară, numărul de legături vizitate ajunge la MaxDepth sau indexul următor ar revizita o adnotare deja văzută (indexul de start contează ca văzut). Garda anti-ciclu face apelul sigur pe documente malformate ale căror intrări /IRT formează bucle

Indexul de start în sine nu face niciodată parte din rezultat — doar adnotările către care duce. O adnotare fără legătura cerută produce un vector gol, nu o eroare

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