Ejemplo n.º 1
0
        public byte[] importXml(byte[] inputPdf, Stream xmlData, Boolean isSign)
        {
            Console.WriteLine("Read PDF");
            PdfReader    reader  = new PdfReader(inputPdf);
            MemoryStream output  = new MemoryStream();
            PdfStamper   stamper = new PdfStamper(reader, output, '\0', false);

            AcroFields form = stamper.AcroFields;
            XfaForm    xfa  = form.Xfa;

            Console.WriteLine("Fill Data");
            xfa.FillXfaForm(xmlData);
            Console.WriteLine("Set fields to read only");
            if (!isSign)
            {
                foreach (string key in form.Fields.Keys)
                {
                    form.SetFieldProperty(key, "setfflags", PdfFormField.FF_READ_ONLY, null);
                }
            }

            stamper.Close();
            reader.Close();
            return(output.ToArray());
        }
Ejemplo n.º 2
0
// ---------------------------------------------------------------------------
        public byte[] ManipulatePdf(String src, String xml)
        {
            PdfReader reader = new PdfReader(src);

            using (MemoryStream ms = new MemoryStream()) {
                using (PdfStamper stamper = new PdfStamper(reader, ms)) {
                    AcroFields form = stamper.AcroFields;
                    XfaForm    xfa  = form.Xfa;
                    xfa.FillXfaForm(XmlReader.Create(new StringReader(xml)));
                }
                return(ms.ToArray());
            }
        }
Ejemplo n.º 3
0
        protected void ManipulatePdf(string dest)
        {
            PdfDocument pdfdoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest));
            PdfAcroForm form   = PdfAcroForm.GetAcroForm(pdfdoc, true);

            XfaForm xfa = form.GetXfaForm();

            // Method fills this object with XFA data under datasets/data.
            xfa.FillXfaForm(new FileStream(XML, FileMode.Open, FileAccess.Read));
            xfa.Write(pdfdoc);

            pdfdoc.Close();
        }