I am having some issues with iTextSharp and memory streams. I am able to fill out a single form and write it to the memory stream. However, as soon as I fill out the second form, it corrupts the final PDF file and it's unreadable. Can someone let me know what I'm doing wrong?
public byte[] GetPDFDoc(string pdfTemplate){
byte[] single;
using (MemoryStream ms = new MemoryStream())
{
var theforms = db.getforms();
foreach (var f in theforms)
{
using (MemoryStream ms2 = new MemoryStream())
{
PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, ms2, '\0', true);
AcroFields form = pdfStamper.AcroFields;
// fill out form
pdfStamper.Close();
pdfStamper.Dispose();
single = ms2.ToArray();
}
ms.Write(single, 0, (int)single.Length);
}
return ms.ToArray();
}
}
Thanks