protected virtual void KidNode(PdfDictionary merged, String name)
{
PdfArray kids = merged.GetAsArray(PdfName.KIDS);
if (kids == null || kids.Size == 0) {
if (name.Length > 0)
name = name.Substring(1);
fields[name] = merged;
}
else {
merged.Remove(PdfName.KIDS);
for (int k = 0; k < kids.Size; ++k) {
PdfDictionary dic = new PdfDictionary();
dic.Merge(merged);
PdfDictionary newDic = kids.GetAsDict(k);
PdfString t = newDic.GetAsString(PdfName.T);
String newName = name;
if (t != null)
newName += "." + t.ToUnicodeString();
dic.Merge(newDic);
dic.Remove(PdfName.T);
KidNode(dic, newName);
}
}
}