//////////////// NameSpace
protected void Generate_PDF(object sender, EventArgs e)
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
protected void Generate_PDF(object sender, EventArgs e)
{
//Dummy data for Invoice (Bill).
string TagName= "Krishraja88";
int Name= "Krishna";
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[5] {
new DataColumn("ProductId",
typeof(string)),
new DataColumn("Product",
typeof(string)),
new DataColumn("Price",
typeof(int)),
new DataColumn("Quantity",
typeof(int)),
new DataColumn("Total",
typeof(int))});
dt.Rows.Add(101, "Product1",
2010, 5, 10020);
dt.Rows.Add(102, "Product1",
4100, 2, 8010);
dt.Rows.Add(103, "Product1",
3010, 3, 9200);
dt.Rows.Add(104, "Product1",
5150, 2, 11300);
using (StringWriter sw = new
StringWriter())
{
using (HtmlTextWriter
hw = new HtmlTextWriter(sw))
{
StringBuilder sb = new StringBuilder();
//Generate Invoice (Bill) Header.
sb.Append("<table width='100%'
cellspacing='0' cellpadding='2'>");
sb.Append("<tr><td
align='center' style='background-color: #18B5F0' colspan = '2'><b>Order
Sheet</b></td></tr>");
sb.Append("<tr><td colspan =
'2'></td></tr>");
sb.Append("<tr><td><b>Name: </b>");
sb.Append(Name);
sb.Append("</td><td align =
'right'><b>Date: </b>");
sb.Append(DateTime.Now);
sb.Append("
</td></tr>");
sb.Append("<tr><td colspan =
'2'><b>Tag Name: </b>");
sb.Append(TagName);
sb.Append("</td></tr>");
sb.Append("</table>");
sb.Append("<br />");
//Generate Invoice (Bill) Items Grid.
sb.Append("<table border =
'1'>");
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<th style =
'background-color: #D20B0C;color:#ffffff'>");
sb.Append(column.ColumnName);
sb.Append("</th>");
}
sb.Append("</tr>");
foreach
(DataRow row in dt.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td>");
sb.Append(row[column]);
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("<tr><td align =
'right' colspan = '");
sb.Append(dt.Columns.Count - 1);
sb.Append("'>Total</td>");
sb.Append("<td>");
sb.Append(dt.Compute("sum(Total)",
""));
sb.Append("</td>");
sb.Append("</tr></table>");
//Export HTML String as PDF.
StringReader sr = new
StringReader(sb.ToString());
Document pdfDoc = new
Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition",
"attachment;filename=Invoice_" +
orderNo + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
}
No comments:
Post a Comment