Search code examples
.net-coreitextpdf-generationitext7

How to edit existing pdf file itext7, C#?


Before, I edit a field into an existing PDF file as follows:

using var memoryStream = new MemoryStream();
var pdfReader = new PdfReader(new MemoryStream(templateFileByteArray));
var pdfStamper = new PdfStamper(pdfReader, memoryStream, '\0', false);
var pdfFormFields = pdfStamper.AcroFields;
pdfFormFields.GenerateAppearances = true;
pdfFormFields.SetField("TextFullName", customer.Name, customer.Name);
pdfStamper.FormFlattening = true;
pdfReader.Close();
pdfStamper.Close();

How can I do it with iText7. in iText7 I couldn't find PdfStamper equivalent.


Solution

  • The rough alternative is the following code:

    PdfReader reader = new PdfReader(sourceFile);
    PdfWriter writer = new PdfWriter(outFile);
    PdfDocument pdfDocument = new PdfDocument(reader, writer);
    PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDocument, false);
    form.getField("TextFullName").setValue("Name Value");
    form.flattenFields();
    pdfDocument.close();