First u download the i text sharp dll from internet
and then
namespace
using System.Data;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using System.Collections;
using System.Text;
using System.Net;
using System.IO;
using System.Configuration;
//------- Function for generate pdf ---
private void newpdf()
{
Document doc = new Document(PageSize.A4);
DataTable dtPDFfile = new DataTable();
DataTable dt = new DataTable();
dt.Columns.Add("link", typeof(System.String));
dt.Columns.Add("Property_name", typeof(System.String));
dt.Columns.Add("Street_address", typeof(System.String));
dt.Columns.Add("walia", typeof(System.String));
for (Int32 i = 0; i < 30; i++)
{
DataRow dr = dt.NewRow();
dr["link"] = "text5";
dr["Property_name"] = "walia";
dr["Street_address"] = "sachin";
dr["walia"] = "sachin";
dt.Rows.Add(dr);
}
//PdfWriter.GetInstance(document, new FileStream(Server.MapPath(".") + "/pdf/test" + guid + ".pdf", FileMode.Create));
// string strPath = ConfigurationManager.AppSettings["Pdfpath"].ToString();
string strPath = Server.MapPath("test.pdf");
dtPDFfile = dt;
if (dtPDFfile.Rows.Count > 0)
{
CreatePdfReport(dtPDFfile, "", strPath, "sachin");
}
}
//---------------------
public void CreatePdfReport(DataTable dt, string headerText, string filepath, string filename)
{
HttpContext.Current.Response.ContentType = "Application/pdf";
Document document = new Document(PageSize.A4.Rotate(), 50, 50, 50, 50);
int numColumns = 0;
if (dt.Columns.Count > 0)
{
numColumns = dt.Columns.Count;
}
PdfPTable datatable = new PdfPTable(numColumns);
//string strPathImage = DateTime.Now.Year.ToString() + "" + DateTime.Now.Month.ToString() + "" + DateTime.Now.Day.ToString() + "" + DateTime.Now.Hour.ToString() + "" + DateTime.Now.Minute.ToString() + "" + DateTime.Now.Second.ToString() + "Image." + strExtension;
// set image path for header image
//PdfWriter.GetInstance(document, new FileStream(Environment.GetFolderPath
//(Environment.SpecialFolder.Desktop) + "\\TimeScheduler"+DateTime.Now.Year.ToString() + "" + DateTime.Now.Month.ToString() + "" + DateTime.Now.Day.ToString() + "" + DateTime.Now.Hour.ToString() + "" + DateTime.Now.Minute.ToString() + "" + DateTime.Now.Second.ToString() +".pdf", FileMode.Create));
string imagepath = Server.MapPath("logo.gif");
PdfWriter.GetInstance(document, new FileStream(filepath + "timescheduler.pdf", FileMode.Create, FileAccess.ReadWrite));
//PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
document.Open();
// set header image
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imagepath);
image.Alignment = iTextSharp.text.Image.ALIGN_CENTER;
//PdfPCell cell = new PdfPCell(image);
//image.HorizontalAlignment = PdfPCell.ALIGN_MIDDLE;
// set spacing betwwen table and header image
image.SpacingAfter = 20f;
//image.SpacingBefore = 10f;
image.ScalePercent(80f);
document.Add(image);
Phrase headerPhrase = new Phrase(headerText, FontFactory.GetFont("Verdana", 28));
HeaderFooter header = new HeaderFooter(headerPhrase, false);
header.Border = Rectangle.NO_BORDER;
header.Alignment = Element.ALIGN_CENTER;
document.Header = header;
document.Add(headerPhrase);
HeaderFooter footer = new HeaderFooter(new Phrase("Page "), true);
footer.Border = Rectangle.NO_BORDER;
footer.Alignment = Element.ALIGN_CENTER;
document.Footer = footer;
float[] columnWidths = { 18, 40, 40, 40 };
datatable.SetWidths(columnWidths);
datatable.DefaultCell.Padding = 4;
datatable.WidthPercentage = 100; // percentage
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
datatable.DefaultCell.BorderWidth = 1;
datatable.DefaultCell.GrayFill = 0.7f;
datatable.SpacingBefore = 50f;
foreach (DataColumn column in dt.Columns)
{
string columnName = column.ColumnName;
Phrase phrase = new Phrase(columnName, FontFactory.GetFont("Tahoma", 20, Font.BOLD));
datatable.DefaultCell.GrayFill = 0.9f;
datatable.AddCell(phrase);
}
datatable.HeaderRows = 1;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
string columnName = column.ColumnName;
Phrase phrase = new Phrase(row[columnName].ToString(), FontFactory.GetFont("Arial", 18));
datatable.DefaultCell.GrayFill = 10f;
datatable.AddCell(phrase);
}
}
document.Add(datatable);
document.Close();
HttpContext.Current.Response.ContentType = "Application/pdf";
HttpContext.Current.Response.WriteFile(filepath + "timescheduler.pdf");
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".pdf");
HttpContext.Current.Response.TransmitFile(filepath + "timescheduler.pdf");
HttpContext.Current.Response.End();
}
and then
namespace
using System.Data;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using System.Collections;
using System.Text;
using System.Net;
using System.IO;
using System.Configuration;
//------- Function for generate pdf ---
private void newpdf()
{
Document doc = new Document(PageSize.A4);
DataTable dtPDFfile = new DataTable();
DataTable dt = new DataTable();
dt.Columns.Add("link", typeof(System.String));
dt.Columns.Add("Property_name", typeof(System.String));
dt.Columns.Add("Street_address", typeof(System.String));
dt.Columns.Add("walia", typeof(System.String));
for (Int32 i = 0; i < 30; i++)
{
DataRow dr = dt.NewRow();
dr["link"] = "text5";
dr["Property_name"] = "walia";
dr["Street_address"] = "sachin";
dr["walia"] = "sachin";
dt.Rows.Add(dr);
}
//PdfWriter.GetInstance(document, new FileStream(Server.MapPath(".") + "/pdf/test" + guid + ".pdf", FileMode.Create));
// string strPath = ConfigurationManager.AppSettings["Pdfpath"].ToString();
string strPath = Server.MapPath("test.pdf");
dtPDFfile = dt;
if (dtPDFfile.Rows.Count > 0)
{
CreatePdfReport(dtPDFfile, "", strPath, "sachin");
}
}
//---------------------
public void CreatePdfReport(DataTable dt, string headerText, string filepath, string filename)
{
HttpContext.Current.Response.ContentType = "Application/pdf";
Document document = new Document(PageSize.A4.Rotate(), 50, 50, 50, 50);
int numColumns = 0;
if (dt.Columns.Count > 0)
{
numColumns = dt.Columns.Count;
}
PdfPTable datatable = new PdfPTable(numColumns);
//string strPathImage = DateTime.Now.Year.ToString() + "" + DateTime.Now.Month.ToString() + "" + DateTime.Now.Day.ToString() + "" + DateTime.Now.Hour.ToString() + "" + DateTime.Now.Minute.ToString() + "" + DateTime.Now.Second.ToString() + "Image." + strExtension;
// set image path for header image
//PdfWriter.GetInstance(document, new FileStream(Environment.GetFolderPath
//(Environment.SpecialFolder.Desktop) + "\\TimeScheduler"+DateTime.Now.Year.ToString() + "" + DateTime.Now.Month.ToString() + "" + DateTime.Now.Day.ToString() + "" + DateTime.Now.Hour.ToString() + "" + DateTime.Now.Minute.ToString() + "" + DateTime.Now.Second.ToString() +".pdf", FileMode.Create));
string imagepath = Server.MapPath("logo.gif");
PdfWriter.GetInstance(document, new FileStream(filepath + "timescheduler.pdf", FileMode.Create, FileAccess.ReadWrite));
//PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
document.Open();
// set header image
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imagepath);
image.Alignment = iTextSharp.text.Image.ALIGN_CENTER;
//PdfPCell cell = new PdfPCell(image);
//image.HorizontalAlignment = PdfPCell.ALIGN_MIDDLE;
// set spacing betwwen table and header image
image.SpacingAfter = 20f;
//image.SpacingBefore = 10f;
image.ScalePercent(80f);
document.Add(image);
Phrase headerPhrase = new Phrase(headerText, FontFactory.GetFont("Verdana", 28));
HeaderFooter header = new HeaderFooter(headerPhrase, false);
header.Border = Rectangle.NO_BORDER;
header.Alignment = Element.ALIGN_CENTER;
document.Header = header;
document.Add(headerPhrase);
HeaderFooter footer = new HeaderFooter(new Phrase("Page "), true);
footer.Border = Rectangle.NO_BORDER;
footer.Alignment = Element.ALIGN_CENTER;
document.Footer = footer;
float[] columnWidths = { 18, 40, 40, 40 };
datatable.SetWidths(columnWidths);
datatable.DefaultCell.Padding = 4;
datatable.WidthPercentage = 100; // percentage
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
datatable.DefaultCell.BorderWidth = 1;
datatable.DefaultCell.GrayFill = 0.7f;
datatable.SpacingBefore = 50f;
foreach (DataColumn column in dt.Columns)
{
string columnName = column.ColumnName;
Phrase phrase = new Phrase(columnName, FontFactory.GetFont("Tahoma", 20, Font.BOLD));
datatable.DefaultCell.GrayFill = 0.9f;
datatable.AddCell(phrase);
}
datatable.HeaderRows = 1;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
string columnName = column.ColumnName;
Phrase phrase = new Phrase(row[columnName].ToString(), FontFactory.GetFont("Arial", 18));
datatable.DefaultCell.GrayFill = 10f;
datatable.AddCell(phrase);
}
}
document.Add(datatable);
document.Close();
HttpContext.Current.Response.ContentType = "Application/pdf";
HttpContext.Current.Response.WriteFile(filepath + "timescheduler.pdf");
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".pdf");
HttpContext.Current.Response.TransmitFile(filepath + "timescheduler.pdf");
HttpContext.Current.Response.End();
}
No comments:
Post a Comment