导入iTextSharp.dll,然后引用
using iTextSharp.text;
using iTextSharp.text.pdf;
//PDFFile为PDF文件保存的路径,FontSize字体大小
public bool ConvertDataTableToPDF(DataTable Data, string PDFFile, float FontSize)
{
//定义页面的大小
//Rectangle pageSize = new Rectangle(PoundsToPixels(2000), PoundsToPixels(3000));
//Document document = new Document(pageSize);
//默认页面大小
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileStream(PDFFile, FileMode.Create));
document.Open();
//设置字体
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
Font font = new Font(bf, FontSize);
PdfPTable table = new PdfPTable(Data.Columns.Count);
table.WidthPercentage = 100; // percentage
table.DefaultCell.Padding = 1;
table.DefaultCell.BorderWidth = 1;
table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
//将datatable表头转换成PDFTable的表头
foreach (DataColumn dc in Data.Columns)
{
table.addCell(new Phrase(dc.ColumnName.ToString(),font));
}
//插入数据
for (int i = 0; i < Data.Rows.Count; i++)
{
for (int j = 0; j < Data.Columns.Count; j++)
{
table.addCell(new Phrase(Data.Rows[i][j].ToString(), font));
}
}
document.Add(table);
document.Close();
writer.Close();
return true;
}