I was able to do it by not using the MemoryStream:
File.Copy(formLocation, outputFileNameAndPath, true);
using (FileStream pdfFlat = new FileStream(outputFileNameAndPath,FileMode.Open))
using (PdfReader pdfReader = new PdfReader(formLocation))
using (PdfStamper pdfStamper = new PdfStamper(pdfReader, pdfFlat))
using (FdfReader fdfReader = new FdfReader(fdfFileNameAndPath))
{
AcroFields pdfForm = pdfStamper.AcroFields;
pdfForm.SetFields(fdfReader);
pdfStamper.FormFlattening = true;
pdfStamper.Writer.CloseStream = false;
fdfReader.Close();
pdfStamper.Close();
pdfReader.Close();
pdfFlat.Close();
}
I am not sure but when I was using the MemoryStream to open the file and then save it into another FileStream, something was not working, not sure what.
But I tried to make it simpler and it worked.