function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): Integer;
| AnnotIndex | Integer. Nulbaseret indeks for annotationen på den aktuelle side, i intervallet 0 .. AnnotationCount - 1. Et indeks uden for intervallet udløser en EPdfError |
| Relationship | TPdfAnnotationRelationship. parPopup følger /Popup-entryen (popup-vinduet for en markup-annotation); parInReplyTo følger /IRT-entryen (den annotation, denne besvarer) |
| Result | Integer. Sideindeks for den forbundne annotation i 0 .. AnnotationCount - 1 eller -1, når annotationen ikke har en sådan lænke |
Markup-annotationer kan referere til andre annotationer. En tekstnote gemmer et popup-vindue i /Popup, og et svar bærer den annotation, det besvarer, i /IRT. Dette kald opløser én sådan reference gennem det native interface (FPDFAnnot_GetLinkedAnnot) og oversætter det forbundne annotation-handle tilbage til det sideannotationsindeks, der bruges alle andre steder, så kalderen kan inspicere den via Annotation
Når annotationen ikke har en entry for den ønskede relation, er resultatet -1. Det er det normale tilfælde — de fleste annotationer bærer hverken en popup- eller en svarreference
For at gennemløbe en hel svartråd i stedet for ét enkelt hop, brug GetLinkedAnnotationChain
AnnotationCount-liste som AnnotIndex
var
PopupIndex: Integer;
begin
PopupIndex := Pdf1.GetLinkedAnnotationIndex(3, parPopup);
if PopupIndex >= 0 then
Memo1.Lines.Add(Pdf1.Annotation[PopupIndex].ContentsText);
end;