function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): Integer;
| AnnotIndex | Integer. Indice a base zero dell'annotazione nella pagina corrente, nell'intervallo 0 .. AnnotationCount - 1. Un indice fuori intervallo solleva un EPdfError |
| Relationship | TPdfAnnotationRelationship. parPopup segue la voce /Popup (la finestra popup di un'annotazione di markup); parInReplyTo segue la voce /IRT (l'annotazione a cui questa risponde) |
| Result | Integer. Indice di pagina dell'annotazione collegata in 0 .. AnnotationCount - 1, oppure -1 quando l'annotazione non ha un tale collegamento |
Le annotazioni di markup possono fare riferimento ad altre annotazioni. Una nota di testo mantiene una finestra popup in /Popup e una risposta trasporta l'annotazione a cui risponde in /IRT. Questa chiamata risolve un tale riferimento attraverso l'interfaccia nativa (FPDFAnnot_GetLinkedAnnot) e traduce l'handle dell'annotazione collegata nell'indice di annotazione di pagina usato ovunque altrove, così il chiamante può esaminarla tramite Annotation
Quando l'annotazione non ha una voce per la relazione richiesta, il risultato è -1. È il caso normale — la maggior parte delle annotazioni non trasporta né un popup né un riferimento di risposta
Per percorrere un intero thread di risposte invece di un singolo salto, usare GetLinkedAnnotationChain
AnnotationCount di AnnotIndex
var
PopupIndex: Integer;
begin
PopupIndex := Pdf1.GetLinkedAnnotationIndex(3, parPopup);
if PopupIndex >= 0 then
Memo1.Lines.Add(Pdf1.Annotation[PopupIndex].ContentsText);
end;