To follow up on my collague, PDFNet can do most of this work for you.
`
FieldIterator itr = pdfdoc.GetFieldIterator();
for(; itr.HasNext(); itr.Next()) {
Field field = itr.Current();
GState gs = field.GetDefaultAppearance();
Font font = gs.GetFont();
double fontSize = gs.GetFontSize();
Console.WriteLine("{0} {1} {2}", field.GetName(),
font.GetName(), fontSize); // there is also Font.GetFamilyName and Font.GetEmbeddedFontName
}
`