RubyPDF Blog English,iTextSharp(iText#),PDF iTextSharp(iText#) example in asp.net

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
    }
}

4 thoughts on “iTextSharp(iText#) example in asp.net”

  1. 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


  2. 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.

  3. 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

This site uses Akismet to reduce spam. Learn how your comment data is processed.