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
}
}
thanks for the exaple
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
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.
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.