0

We have two PDFs, we have updated the form fields of these two PDFs using below code snipet

PdfReader reader = new PdfReader("Test.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("Test_1.pdf"));
AcroFields form = stamper.getAcroFields();
form.setField("issued_by", "Test");
if (stamper != null) {
stamper.close();
}

Now when I am trying to merge two PDFs into one, then the last PDF's form fields values are getting disappeard in the final PDF. Although new page is created in final PDF and Template place properly but Form fileds values are not present. I am using below code for the merging

PdfReader reader = new PdfReader("Test_1.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("Final.pdf"));
reader = new PdfReader("Test_2.pdf");
stamper = mergePDFDocuments(reader,stamper);
if (stamper != null) {
stamper.close();
}

public static PdfStamper mergePDFDocuments(PdfReader reader,PdfStamper stamper) {       
try {        
stamper.insertPage(stamper.getReader().getNumberOfPages()+1,  stamper.getReader().getPageSizeWithRotation(1));
PdfContentByte under = stamper.getOverContent(stamper.getReader().getNumberOfPages());
PdfImportedPage page = stamper.getImportedPage(reader, 1);
under.addTemplate(page, 0,0);  
}
catch (Exception e) {
e.printStackTrace();
} 
return stamper;
}

Can any one suggest me where I am making mistake. I am using JDK 1.7.0_71 and iText 5.4.1

  • You are using `PdfStamper` instead of `PdfCopy`. When you insert pages into a document, then all interactivity is lost in the inserted pages. Only the interactivity of the original document is preserved. Don't forget to use the `setMergedFields()` method when you use `PdfCopy`. – Bruno Lowagie Aug 25 '16 at 11:47
  • Thanks..But I am getting error for import com.itextpdf.text.Document; It is conflicting with import org.w3c.dom.Document; Can you suggest me how to remove the conflict? – Krishnendu Dey Aug 25 '16 at 12:18
  • 1
    That is standard Java knowledge isn't it? Use the explicit name. See http://stackoverflow.com/questions/3501514 (and many other places, for instance: read the manual you used when you learned how to write code in Java). – Bruno Lowagie Aug 25 '16 at 12:24

0 Answers0