// --------------------------------------------------------------------------- public byte[] ManipulatePdf(byte[] src, Dictionary <string, TextField> cache, string name, string login) { using (MemoryStream ms = new MemoryStream()) { PdfReader reader = new PdfReader(src); using (PdfStamper stamper = new PdfStamper(reader, ms)) { AcroFields form = stamper.AcroFields; form.FieldCache = cache; form.SetExtraMargin(2, 0); form.RemoveField("personal.password"); form.SetField("personal.name", name); form.SetField("personal.loginname", login); form.RenameField("personal.reason", "personal.motivation"); form.SetFieldProperty( "personal.loginname", "setfflags", TextField.READ_ONLY, null ); stamper.FormFlattening = true; stamper.PartialFormFlattening("personal.name"); } return(ms.ToArray()); } }