I have a problem appending a PDF file containing form fields to another PDF
without losing the form fields. I have files which illustrate this issue.

 

I am using iTextSharp-5.3.0 (I tried upgrading to iTextSharp-5.4.0 but other
code in my application broke, so I had to continue to use this version.)

 

I have two PDFs with form fields which I populate independently. 

 

www.dropbox.com/s/x2lk6h6nz0ocurl/Page1%262.pdf

www.dropbox.com/s/za4r79ag55qat2a/Page3.pdf

 

I then use the following code to combine the files:

                // Assemble PDFs into one large file

 

                MemoryStream msFinal = new MemoryStream();

                using (FileStream fs = File.Open(_pdfFile, FileMode.Open))

                {

                      msFinal.SetLength(fs.Length);

                      fs.Read(msFinal.GetBuffer(), 0, (int)fs.Length);

                      fs.Close();

                }

               msFinal.Position = 0;

                File.Delete(_pdfFile);

 

                iPage = 3;

                pdfReader = new iTextSharp.text.pdf.PdfReader(msFinal);

                PdfStamper pdfFinal = new PdfStamper(pdfReader, new
FileStream(_pdfFile, FileMode.Create));

                foreach (String _pdfout in _pdfs)

                {

                    if (_pdfout != _pdfFile)

                    {

                        MemoryStream ms = new MemoryStream();

                        using (FileStream fs = File.Open(_pdfout,
FileMode.Open))

                        {

                            ms.SetLength(fs.Length);

                            fs.Read(ms.GetBuffer(), 0, (int)fs.Length);

                            fs.Close();

                        }

                        ms.Position = 0;

                        PdfReader pdfReader3 = new
iTextSharp.text.pdf.PdfReader(ms);

                        pdfFinal.InsertPage(iPage,
pdfReader.GetPageSize(1));

                        pdfFinal.ReplacePage(pdfReader3, 1, iPage);

                        pdfReader3.Close();

                        ms.Close();

                        iPage++;

                    }

                }

                try

                {

                    pdfFinal.Close();

                }

                catch { }

                pdfReader.Close();

 

The result is this file:

www.dropbox.com/s/b8hkkkav76zegwq/Page1%262%263.pdf

 

Basically, the form fields are correctly populated from the first file, but
when I use replacepage to copy the contents of the 3rd page, I do not get
the form fields at all on the page 3.

 

Not quite sure what I am doing wrong.

 

I have found if I create Page 3 with:

                    pdfFinal.FormFlattening = true;

                    pdfFinal.FreeTextFlattening = true;

                    pdfFinal.SetFullCompression();

 

Then the data will, in fact, show up. However, I really need to have the
form fields intact for further editing by the user.

 

Hopefully I've explained this well. Any help on this issue would be
appreciated, I really need to consolidate the files into one large PDF
without losing the contents of the 3rd page. If there is a different
approach to appending the files together, a pointer to an example would
likewise be appreciated.

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference 
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: 
http://itextpdf.com/themes/keywords.php

Reply via email to