How do I get an object if I have its indirect reference?

Tags: inspect PDFiText 7

I am using iTextSharp to analyze a form enabled PDF. I know how to navigate to the radio button control. I would like to analyze the individual radio buttons.

I have the PdfArray of the "kids" for the radio button. Each item in that array is a PdfIndirectReference. How do I get the actual object when all I have is the PdfIndirectReference?

Posted on StackOverflow on Jul 12, 2013 by epotter

Suppose that array is the PdfArray object, then you have a complete series of methods to get its elements. You should use one of the getAsX() methods. For instance:

PdfDictionary d = array.getAsDictionary(0);
PdfArray a = array.getAsArray(1);
PdfStream s = array.getAsStream(2);

In iText 7 you can probably you get(int index, boolean asDirect) method with a false second parameter:

PdfObject o = array.get(2, false);

Click this link if you want to see how to answer this question in iText 5.