PDFium Component Docs

GetLinkedAnnotationChain-metode

Component: TPdf  ·  Unit: PDFium
Går gjentatte ganger gjennom et /Popup- eller /IRT-forhold og returnerer sideindeksene til hver lenket merknad på veien, med syklusbeskyttelse

Syntax

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

AnnotIndexInteger. Nullbasert indeks for startmerknaden på gjeldende side, i området 0 .. AnnotationCount - 1
RelationshipTPdfAnnotationRelationship. parPopup følger /Popup-oppføringene; parInReplyTo følger /IRT-svaroppføringene
MaxDepthInteger. Maksimalt antall lenker som følges. Må være mellom 1 og 4096, ellers utløses en EPdfError. Standardverdien er 64
ResultTPdfIntegerArray. Sideindeksene til de lenkede merknadene i besøksrekkefølge. Tomt når startmerknaden ikke har en slik lenke

Description

Anvender GetLinkedAnnotationIndex gjentatte ganger: fra startmerknaden følger den det etterspurte forholdet til neste merknad, deretter igjen fra den, og samler opp hver indeks på veien. Resultatet er svartråden i en diskusjon, eller en popup-kjede, som en vanlig array med merknadsindekser på siden

Gjennomgangen stopper på tre betingelser: gjeldende merknad har ingen flere lenker, antallet besøkte lenker når MaxDepth, eller neste indeks ville besøke en merknad som allerede er sett (startindeksen regnes som sett). Syklusvakten gjør kallet trygt på feilformede dokumenter der /IRT-oppføringene går i løkke

Startindeksen selv er aldri en del av resultatet — bare merknadene den fører til. En merknad uten den etterspurte lenken gir en tom array, ikke en feil

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