Пример #1
0
// ---------------------------------------------------------------------------
        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());
            }
        }