iTextSharp(iText#) example in asp.net

Just a example to show how to use iTextSharp in ASP.ET(no matter asp.net1.1 or asp.net2.0)

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

namespace itext
{
    /**//// 
    ///
    /// 
    public class Chap0105 : System.Web.UI.Page
    {
        private void Page_Load(object sender, System.EventArgs e)
        {
            // step 1
            // need to write to memory first due to IE wanting
            // to know the length of the pdf beforehand
            MemoryStream m = new MemoryStream();
            Document document = new Document();
            try
            {
                // step 2: we set the ContentType and create an instance of the Writer
                Response.ContentType = "application/pdf";
                PdfWriter writer=PdfWriter.GetInstance(document, m);
                writer.CloseStream=false;

                // step 3
                document.Open();

                // step 4
                document.Add(new Paragraph(DateTime.Now.ToString()));
            }
            catch (DocumentException ex)
            {
                Console.Error.WriteLine(ex.StackTrace);
                Console.Error.WriteLine(ex.Message);
            }
            // step 5: Close document
            document.Close();

            // step 6: Write pdf bytes to outputstream
            Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
            Response.OutputStream.Flush();
            Response.OutputStream.Close();
            m.Close();
        }

        override protected void OnInit(EventArgs e)
        {
            //
            //
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /**//// 
        ///
        ///
        /// 
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);
        }
        #endregion
    }
}
Share and Enjoy:
  • Digg
  • del.icio.us
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • BlinkList
  • blogmarks
  • blogtercimlap
  • connotea
  • DotNetKicks
  • Fark
  • Fleck
  • Gwar
  • Haohao
  • IndianPad
  • Internetmedia
  • LinkaGoGo
  • MyShare
  • Netscape
  • NewsVine
  • Rec6
  • Reddit
  • Scoopeo
  • Slashdot
  • StumbleUpon
  • Technorati
  • Webride

4 Responses to “iTextSharp(iText#) example in asp.net

  • 1
    Giridhar
    March 12th, 2007 23:15

    thanks for the exaple

  • 2
    anandraaz
    July 28th, 2009 19:41

    hey,
    your article is good,but where u r creating pdf file.and where u r fill the memory stream..
    could u explain bit clearly..
    i want to create a pdf file from binary data which is stored in database(I am saving the upload file in binary format in database)..
    plz help me…
    Regards
    AnandRaj

  • 3
    rubypdf
    July 30th, 2009 12:38


    Document doc=new Document();
    MemoryStream ms=new MemoryStream();
    PdfWriter writer =PdfWriter.GetInstance(doc,ms);
    writer.CloseStream=false;
    doc.Open();
    doc.Add(new Paragraph(DateTime.Now.ToLongDateString()));
    doc.Close();

    the created pdf will be saved in MemoryStream instance, so you can easily save the data to database.

  • 4
    masu001
    August 4th, 2009 16:47

    I wonder whether you can help me out just 1 step further as it seems like I’ve drawn a blank.

    When I run my page locally from Visual Studio, I am able to create a pdf file on the Hard Drive using the following code:

    ms.WriteTo(new FileStream(@”C:\PDF\test.pdf”, FIleMode.Create));

    but when the site is launched on the server it gives me an error that the path cannot be found.

    I need to create the file this way because I will be generating a 120 pdf’s in a loop therefore I cannot use the above method where the pdf is opened in the browser window and the user is left to decide for himself whether he wants to save a copy or not.

    Like I said, I’ve managed to do this locally including the loop and pdf generation.

Leave a Reply

You must be logged in to post a comment.