title: Insert text in existing pdf with itextsharp
body: <p>I can add a text to an existing pdf as it is explained in the url below.
  But the texts stay below the images in the pdf when I add them. How can I fix this problem?</p>
  
  <p><a href="https://stackoverflow.com/questions/3992617/itextsharp-insert-text-to-an-existing-pdf">ITextSharp insert text to an existing pdf</a></p>
  
  <p>Edit :</p>
  
  <pre><code>  public void createFromPDF(string mapPath)
      {
          string oldFile = mapPath.Replace("Home", "") + "Content\\Uploads\\fiyat-listesi.pdf";// "oldFile.pdf";
          string newFile = mapPath.Replace("Home", "") + "Content\\Uploads\\new.pdf";//"newFile.pdf";
  
          // open the reader
          PdfReader reader = new PdfReader(oldFile);
          Rectangle size = reader.GetPageSizeWithRotation(1);
          Document document = new Document(size);
  
          // open the writer
          FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
          PdfWriter writer = PdfWriter.GetInstance(document, fs);
          document.Open();
  
          // the pdf content
          PdfContentByte cb = writer.DirectContent;
  
          // select the font properties
          BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
          cb.SetColorFill(Color.RED);
          cb.SetFontAndSize(bf, 8);
  
          // write the text in the pdf content
          cb.BeginText();
          string text = "Some random blablablabla...";
          // put the alignment and coordinates here
          cb.ShowTextAligned(1, text, 520, 640, 0);
          cb.EndText();
          cb.BeginText();
          text = "Other random blabla...";
          // put the alignment and coordinates here
          cb.ShowTextAligned(2, text, 100, 200, 0);
          cb.EndText();
  
          // create the new page and add it to the pdf
          PdfImportedPage page = writer.GetImportedPage(reader, 1);
          cb.AddTemplate(page, 0, 0);
  
          document.NewPage();
  
          Paragraph p = new Paragraph("aaaaaaaaaaaaaaaaaa", new Font(bf));
          document.Add(p);
  
  
          PdfImportedPage page2 = writer.GetImportedPage(reader, 2);
          cb.AddTemplate(page2, 0, 0);
  
          document.NewPage();
  
  
          Paragraph pwe = new Paragraph("aaaaaaaaaaaaaaaaaa", new Font(bf));
          document.Add(p);
  
          cb.EndLayer();
  
          PdfImportedPage page3 = writer.GetImportedPage(reader, 3);
          cb.AddTemplate(page3, 0, 0);
  
  
  
          // close the streams and voilá the file should be changed :)
          document.Close();
          fs.Close();
          writer.Close();
          reader.Close();
      }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/vUwDF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vUwDF.png" alt="enter image description here"></a></p>