Create Simple PDF File Using iTextSharp Library

In this article I will show you how to create a simple PDF file using the iTextsharp library.


iTextSharp is a library that allows you to create and manipulate PDF documents.

It enables developers looking to enhance web applications and other applications with dynamic PDF document generation and/or manipulation.

Before proceeding you should have the iTextSharp library file.

You can download the iTextSharp.dll from

  1. Open VisualStudio and then create a new ASP.NET web application.
  2. Add a reference to the iTextSharp.dll file to your project.
  3. Add the following namespaces before proceeding:

    using System;

    using iTextSharp.text.pdf;

    using System.IO;

    using iTextSharp.text;

    using System.Diagnostics;

  4. In the designer, drag and drop two buttons as follows:

  5. For the Generate PDF File button, write the following code to generate the PDF file:

    void btnGeneratePDFFile_Click(object sender, EventArgs e)


        //Create document

        Document doc = new  Document();
        //Create PDF Table

        PdfPTable tableLayout = new PdfPTable(4);


        //Create a PDF file in specific path

        PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("Sample-PDF-File.pdf"), FileMode.Create));


        //Open the PDF document



        //Add Content to PDF



        // Closing the document



        btnOpenPDFFile.Enabled = true;

        btnGeneratePDFFile.Enabled = false;


    private PdfPTable Add_Content_To_PDF(PdfPTable tableLayout)


        float[] headers = { 20, 20, 30, 30 };  //Header Widths

        tableLayout.SetWidths(headers);        //Set the pdf headers

        tableLayout.WidthPercentage = 80;       //Set the PDF File witdh percentage


       //Add Title to the PDF file at the top

       tableLayout.AddCell(new PdfPCell(new Phrase("Creating PDF file using iTextsharp", new Font(Font.HELVETICA, 13, 1, new iTextSharp.text.Color(153, 51, 0)))) { Colspan = 4, Border = 0, PaddingBottom = 20, HorizontalAlignment = Element.ALIGN_CENTER });         


       //Add header

       AddCellToHeader(tableLayout, "Cricketer Name");

       AddCellToHeader(tableLayout, "Height");

       AddCellToHeader(tableLayout, "Born On");

       AddCellToHeader(tableLayout, "Parents");           


       //Add body

       AddCellToBody(tableLayout, "Sachin Tendulkar");

       AddCellToBody(tableLayout, "1.65 m");

       AddCellToBody(tableLayout, "April 24, 1973");

       AddCellToBody(tableLayout, "Ramesh Tendulkar, Rajni Tendulkar");


       AddCellToBody(tableLayout, "Mahendra Singh Dhoni");

       AddCellToBody(tableLayout, "1.75 m");

       AddCellToBody(tableLayout, "July 7, 1981");

       AddCellToBody(tableLayout, "Devki Devi, Pan Singh");


       AddCellToBody(tableLayout, "Virender Sehwag");

       AddCellToBody(tableLayout, "1.70 m");

       AddCellToBody(tableLayout, "October 20, 1978");

       AddCellToBody(tableLayout, "Aryavir Sehwag, Vedant Sehwag");


       AddCellToBody(tableLayout, "Virat Kohli");

       AddCellToBody(tableLayout, "1.75 m");

       AddCellToBody(tableLayout, "November 5, 1988");

       AddCellToBody(tableLayout, "Saroj Kohli, Prem Kohli");


       return tableLayout;



    // Method to add single cell to the header

    private static void AddCellToHeader(PdfPTable tableLayout,string cellText)


        tableLayout.AddCell(new PdfPCell(new Phrase(cellText, new Font(Font.HELVETICA, 8, 1, iTextSharp.text.Color.WHITE))) {HorizontalAlignment = Element.ALIGN_CENTER, Padding=5, BackgroundColor = new iTextSharp.text.Color(0, 51, 102) });



    // Method to add single cell to the body

    private static void AddCellToBody(PdfPTable tableLayout, string cellText)


        tableLayout.AddCell(new PdfPCell(new Phrase(cellText, new Font(Font.HELVETICA, 8, 1, iTextSharp.text.Color.BLACK))) { HorizontalAlignment = Element.ALIGN_CENTER,Padding = 5, BackgroundColor = iTextSharp.text.Color.WHITE });


    Don't be confused by the code above, I am extracting the methods for reusability purposes.

    I will explain whats happening in the preceding methods.


    In this method I am creating the PDF file in a specific location. Then I am calling the Add_Content_To_PDF method.


    In this method I am giving the sizes of the cells as well as PDF file width and then I am adding content to the PDF file usigng the two methods AddCellToHeader and AddCellToBody.


    In this mehtod I am adding a single cell to the PDF header with some style.


    In this mehtod I am adding a single cell to the PDF body with some style. 

  6. Now in the Open PDF button click write the following code to open the PDF that has been created:

    void btnOpenPDFFile_Click(object sender, EventArgs e)
        //Open the PDF file
        btnGeneratePDFFile.Enabled = true;
        btnOpenPDFFile.Enabled = false;

  7. Save the files and run the project. Click on Generate PDF; your PDF file will be generated. Then click on the Open PDF file, you will get the created PDF.
  8. If your code is not working then I have added a project to this article you can download and test. 

So in this way we can create a PDF simply by using the iTextSharp library.

Up Next
    Ebook Download
    View all
    View all