internal PdfArray Calculate(Dictionary<String, Object> map)
{
PdfArray ar = new PdfArray();
foreach (KeyValuePair<String, Object> entry in map) {
String key = entry.Key;
Object v = entry.Value;
PdfDictionary dic = new PdfDictionary();
dic.Put(PdfName.T, new PdfString(key, PdfObject.TEXT_UNICODE));
if (v is Dictionary<String, Object>) {
dic.Put(PdfName.KIDS, Calculate((Dictionary<String, Object>)v));
}
else if (v is PdfAction) { // (plaflamme)
dic.Put(PdfName.A, (PdfAction)v);
}
else {
dic.Put(PdfName.V, (PdfObject)v);
}
ar.Add(dic);
}
return ar;
}