In your code after pdfDoc.Close() statement paste this code:
It Will Add Header as well as page numbers at bottom
Document copyDoc = new Document();
PdfCopy copyPdf = new PdfCopy(copyDoc, new FileStream(filepath, FileMode.Create));
copyPdf.SetPageSize(PageSize.A4.Rotate());
copyDoc.Open();
Font textFont = FontFactory.GetFont("Helvetica", 9, Font.NORMAL, BaseColor.BLACK);
Font headerFont = FontFactory.GetFont("Helvetica", 12, Font.BOLD, BaseColor.BLACK);
PdfReader reader = new PdfReader(pdfStream.ToArray());
int totalPages = reader.NumberOfPages;
PdfImportedPage copiedPage = null;
iTextSharp.text.pdf.PdfCopy.PageStamp stamper = null;
for (int i = 0; i < totalPages; i++)
{
copiedPage = copyPdf.GetImportedPage(reader, (i + 1));
stamper = copyPdf.CreatePageStamp(copiedPage);
ColumnText.ShowTextAligned(stamper.GetUnderContent(), Element.ALIGN_CENTER, new Phrase(String.Format("Page {0} of {1}", i + 1, reader.NumberOfPages)), 300f, 40, 0);
ColumnText.ShowTextAligned(stamper.GetOverContent(), Element.ALIGN_CENTER, new Phrase("your page heading name", headerFont), 300f, 780, 0);
stamper.AlterContents();
copyPdf.AddPage(copiedPage);
}
copyDoc.Close();
reader.Close();
pdfStream.Flush();
pdfStream.Close();