我使用iTextSharp 5.3.5在asp.net c#中从我的DataTable生成PDF。我的数据表中包含未知的行,SP而如果需要超过一个页面的PDF生成我需要修复一些页眉和页脚为每个页面如何为所有页面设置页眉/页脚修复高度和文本使用iTextSharp创建PDF
代码:
public DataTable dataTable;
protected void Page_Load(object sender, EventArgs e)
{
dataTable = getData();
Document document = new Document(PageSize.A4, 10, 10, 90, 10);
string path = Server.MapPath("PDFs");
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(path + "/Doc103.pdf", FileMode.Create));
document.Open();
CreatePages(document);
document.Close();
}
private void CreatePages(Document document)
{
document.NewPage();
document.Add(FormatPageHeaderPhrase(dataTable.TableName));
PdfPTable pdfTable = new PdfPTable(dataTable.Columns.Count);
pdfTable.DefaultCell.Padding = 3;
pdfTable.WidthPercentage = 100; // percentage
pdfTable.DefaultCell.BorderWidth = 2;
pdfTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
foreach (DataColumn column in dataTable.Columns)
{
pdfTable.AddCell(column.ColumnName);
}
pdfTable.HeaderRows = 1;
pdfTable.DefaultCell.BorderWidth = 1;
foreach (DataRow row in dataTable.Rows)
{
foreach (object cell in row.ItemArray)
{
pdfTable.AddCell(cell.ToString());
}
}
document.Add(pdfTable);
}
private static Phrase FormatPageHeaderPhrase(string value)
{
return new Phrase(value, FontFactory.GetFont(FontFactory.TIMES, 10, Font.BOLD, new BaseColor(255, 0, 0)));
}
Screenshoot PDF的:
感谢您使用有用的链接,我现在正在尝试 –
为了最好的运气花花公子 –