title: iText : How do I insert background image in the same document to be flushed to response
body: <p>I am creating a PDF and writing the stream in response. Before writing in the stream, I want to add a background image as watermark in all the pages so that PDF document flushed through response is the final one with watermark.</p>
  
  <p>Hi this is my code sample. Any help would be much appriciated</p>
  
  <pre><code>private static String generatePDF(HttpServletRequest request, HttpServletResponse   response, String fileName) throws Exception
  {
      Document document = null;
      PdfWriter writer = null;
      FileOutputStream fos = null;
      try
      {
         fos = new FileOutputStream(fileName);
         Document document = new Document(PageSize.A4);
         writer = PdfWriter.getInstance(document, fos);
         document.open();
  
         /**
          * Adding tables and cells and other stuff required
          **/
  
         return pdfFileName;
    } catch (Exception e) {
         FileUtil.deleteFile(fileName);
         throw e
    } finally {
      if (document != null) {
          document.close();
      }
      fos.flush();
    }
  }
  </code></pre>
  
  <p>I now would like to add a background image using the below code and write the output PDF to the same stream</p>
  
  <pre><code>PdfReader sourcePDFReader = null;
  try
  {
     sourcePDFReader = new PdfReader(sourcePdfFileName);
     int noOfPages = sourcePDFReader.getNumberOfPages();
     PdfStamper stamp = new PdfStamper(sourcePDFReader, new FileOutputStream(destPdfFileName));
     int i = 0;
     Image templateImage = Image.getInstance(templateImageFile);
     templateImage.setAbsolutePosition(0, 0);
     PdfContentByte tempalteBytes;
     while (i &lt; noOfPages) {
         i++;
         tempalteBytes = stamp.getUnderContent(i);
         tempalteBytes.addImage(templateImage);
     }
     stamp.close();
     return destPdfFileName;
  } catch (Exception ex) {
     LOGGER.log(Level.INFO, "Error when applying tempalte image as watermark");
  } finally {
       if (sourcePDFReader != null) {
           sourcePDFReader.close();
       }
  }
  </code></pre>