protected void CreateAcroForms()
{
if (fieldTree.Count == 0)
return;
form = new PdfDictionary();
form.Put(PdfName.DR, resources);
Propagate(resources, null, false);
form.Put(PdfName.DA, new PdfString("/Helv 0 Tf 0 g "));
tabOrder = new Dictionary<PdfArray,List<int>>();
calculationOrderRefs = new List<object>();
foreach (string sc in calculationOrder)
calculationOrderRefs.Add(sc);
form.Put(PdfName.FIELDS, BranchForm(fieldTree, null, ""));
if (hasSignature)
form.Put(PdfName.SIGFLAGS, new PdfNumber(3));
PdfArray co = new PdfArray();
for (int k = 0; k < calculationOrderRefs.Count; ++k) {
Object obj = calculationOrderRefs[k];
if (obj is PdfIndirectReference)
co.Add((PdfIndirectReference)obj);
}
if (co.Size > 0)
form.Put(PdfName.CO, co);
}