11

Let's say I've loaded a PDF file using iTextSharp:

PdfStamper p = GetDocument();
AcroFields af = ps.AcroFields;

How do I get a list of all field names on the document from af?

Keltex
  • 26,220
  • 11
  • 79
  • 111

4 Answers4

15
AcroFields af = ps.AcroFields;

        foreach (var field in af.Fields)
        {
            Console.WriteLine("{0}, {1}",
                field.Key,
                field.Value);
        }
S P
  • 4,615
  • 2
  • 18
  • 31
11
PdfReader pdfReader = new PdfReader("c:\\ABC.pdf");

string TempFilename = Path.GetTempFileName();

AcroFields pdfFormFields = pdfReader.AcroFields;

foreach (KeyValuePair<string, AcroFields.Item> kvp in pdfFormFields.Fields)
{   
        string fieldName = kvp.Key.ToString();
        string fieldValue = pdfFormFields.GetField(kvp.Key.ToString());
        Console.WriteLine(fieldName + " " + fieldValue);
}

pdfReader.Close();
Alberto
  • 15,626
  • 9
  • 43
  • 56
Bhavin Shah
  • 111
  • 1
  • 2
2

It may just be me, but I am not getting .Value anymore.

foreach (var field in af.Fields)
{
    Console.WriteLine(field.Key +" "+  af.GetField(field.Key));
}
Mike
  • 186
  • 3
  • 14
2
foreach (DictionaryEntry entry in af.Fields) {
   Console.WriteLine(entry.Key +" " +entry.Value);
}
cecilphillip
  • 11,446
  • 4
  • 36
  • 40