Add TextField in each page of existing pdf using iText

434 Views Asked by At

I'm trying to add the TextField using iText5 in each page of the existing pdf but I'm able to create only in page 1 but not in all the pages. below is the code snippet.

PdfReader pdfReader = new PdfReader("C:/somename.pdf");
        PdfStamper pdfStamper = new PdfStamper(pdfReader,
                new FileOutputStream("C:/somename_output.pdf"));
pdfStamper.setEncryption(false, null, null, ~PdfWriter.ALLOW_COPY);

int pages = pdfReader.getNumberOfPages();
        for (int page = 1; page <= pages; page++) {
            TextField field = new TextField(pdfStamper.getWriter(), new Rectangle(400, 1, 612, 10), "HiddenText");
            field.setBorderColor(BaseColor.CYAN);
            field.setBorderStyle(PdfBorderDictionary.STYLE_DASHED);
            field.setBorderWidth(BaseField.BORDER_WIDTH_MEDIUM);
            field.setText("Adding some text here in each page");
            field.setOptions(TextField.READ_ONLY);
            pdfStamper.addAnnotation(field.getTextField(), page);
        
        pdfStamper.close();
        pdfReader.close();

    }

The expected output is working only for page 1 not for all. Any insights are greatly appreciated.

0

There are 0 best solutions below