public FileStreamResult Annotate(int id) { string tempFile = GetTempFilePath(); using (PdfReader reader = new PdfReader(GetFilePath())) { reader.SetUnethicalReading(true); using (PdfDocument pdfDoc = new PdfDocument(reader, new PdfWriter(tempFile))) { PdfAcroForm pdfForm = PdfAcroForm.GetAcroForm(pdfDoc, true); //var list = pdfForm.GetPdfObject().Values(); foreach (var de in pdfForm.GetFormFields()) { var formField = de.Value; PdfAnnotation text = PdfAnnotation.MakeAnnotation(formField.GetPdfObject()); //, PdfAnnotation.(){ , new Rectangle(200f, 250f, 300f, 350f), "Fox", "The fox is quick", true, "Comment"); if (text != null) { text.s(new PdfString(de.Key)); } //fields.Add(new PdfFormField() { Name = de.Key, Value = formField.GetValueAsString() }); } pdfDoc.Close(); } } return(new FileStreamResult(new FileStream(tempFile, FileMode.Open), "application/pdf")); }