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