Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Export DataTable to PDF file using iTextSharp and download/transmit at client machine

In this article, I am going to explain you how to export Datatable to PDF file using iTextSharp in C# and download or transmit at client machine. First, you need to download iTextSharp dll from the internet. Click on the below link to download the dll.https://github.com/itext/itextsharp

Once file is downloaded, extract it, now you will find 6 more .rar file. Again extract itextsharp-dll-core.rar file, after that add reference of itextsharp.dll to your project.

Related Article

  1. How to export GridView data into PDF using iTextSharp in asp.net with C#
  2. Insert an image into PDF using iTextSharp with C# (C-Sharp)
  3. How to add meta information of PDF file using iTextSharp with C-Sharp
  4. How to extract images from a pdf file using C#.Net

In Code-Behind File

Add below nampespaces.


using System.Data;
using iTextSharp.text;
using iTextSharp.text.pdf;

C# Code Snippet

Below is complete C# code to generate pdf file using dummy data table.


protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
ExportDataTableToPdfandDownloadAtClient();
}
}

private void ExportDataTableToPdfandDownloadAtClient()
{
// creating datatable and adding dumy data
DataTable dtEmployee = new DataTable();
dtEmployee.Columns.Add("EmpId", typeof(Int32));
dtEmployee.Columns.Add("Name", typeof(string));
dtEmployee.Columns.Add("Gender", typeof(string));
dtEmployee.Columns.Add("Salary", typeof(Int32));
dtEmployee.Columns.Add("Country", typeof(string));
dtEmployee.Rows.Add(1, "Rahul", "Male", 60000, "India");
dtEmployee.Rows.Add(2, "John", "Male", 50000, "USA");
dtEmployee.Rows.Add(3, "Mary", "Female", 75000, "UK");
dtEmployee.Rows.Add(4, "Mathew", "Male", 80000, "Australia");

// creating document object
iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(PageSize.A4);
rec.BackgroundColor = new BaseColor(System.Drawing.Color.Olive);
Document doc = new Document(rec);
doc.SetPageSize(iTextSharp.text.PageSize.A4);
PdfWriter writer = PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();

//Creating Paragraph for header
BaseFont bfntHead = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font fntHead = new iTextSharp.text.Font(bfntHead, 16, 1, iTextSharp.text.BaseColor.ORANGE);
Paragraph prgHeading = new Paragraph();
prgHeading.Alignment = Element.ALIGN_LEFT;
prgHeading.Add(new Chunk("Employee Details".ToUpper(), fntHead));
doc.Add(prgHeading);

//Adding paragraph for report generated by
Paragraph prgGeneratedBY = new Paragraph();
BaseFont btnAuthor = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font fntAuthor = new iTextSharp.text.Font(btnAuthor, 8, 2, iTextSharp.text.BaseColor.BLUE);
prgGeneratedBY.Alignment = Element.ALIGN_RIGHT;
prgGeneratedBY.Add(new Chunk("Report Generated by : ASPArticles", fntAuthor));
prgGeneratedBY.Add(new Chunk("\nGenerated Date : " + DateTime.Now.ToShortDateString(), fntAuthor));
doc.Add(prgGeneratedBY);

//Adding a line
Paragraph p = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, iTextSharp.text.BaseColor.BLACK, Element.ALIGN_LEFT, 1)));
doc.Add(p);

//Adding line break
doc.Add(new Chunk("\n", fntHead));

//Adding PdfPTable
PdfPTable table = new PdfPTable(dtEmployee.Columns.Count);

for (int i = 0; i {
string cellText = Server.HtmlDecode(dtEmployee.Columns[i].ColumnName);
PdfPCell cell = new PdfPCell();
cell.Phrase = new Phrase(cellText, new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 10, 1, new BaseColor(System.Drawing.ColorTranslator.FromHtml("#ffffff"))));
cell.BackgroundColor = new BaseColor(System.Drawing.ColorTranslator.FromHtml("#990000"));
//cell.Phrase = new Phrase(cellText, new Font(Font.FontFamily.TIMES_ROMAN, 10, 1, new BaseColor(grdStudent.HeaderStyle.ForeColor)));
//cell.BackgroundColor = new BaseColor(grdStudent.HeaderStyle.BackColor);
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.PaddingBottom = 5;
table.AddCell(cell);
}

//writing table Data
for (int i = 0; i {
for (int j = 0; j {
table.AddCell(dtEmployee.Rows[i][j].ToString());
}
}

doc.Add(table);
doc.Close();
writer.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;" + "filename=EmployeeDetails.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(doc);
Response.End();
}

Below is the pdf file will be downloaded at client machine.

DOWNLOAD SOURCE CODE


This post first appeared on ASPArticles, please read the originial post: here

Share the post

Export DataTable to PDF file using iTextSharp and download/transmit at client machine

×

Subscribe to Asparticles

Get updates delivered right to your inbox!

Thank you for your subscription

×