2010-05-13 56 views
-4

我正在將我的數據集轉換爲pdf文檔。我的數據集包含產品帳單details.So,在PDF的頂部我需要添加一些更多的內容「我的公司名稱&地址客戶名稱,賬單日期,賬單號」我有問題在我的pdf中添加額外的內容

我使用下面的代碼轉換成pdf。

public static void Exportdata(DataTable dataTable, HttpResponse Response, int val) 
{ 

    //String filename = String.Concat(name, "-", DateTime.Today.Day.ToString(), "/", DateTime.Today.Month.ToString(), "/", DateTime.Today.Year.ToString(), ".pdf"); 
    Document pdfDoc = new Document(PageSize.A4, 30, 30, 40, 25); 
    System.IO.MemoryStream mStream = new System.IO.MemoryStream(); 
    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, mStream); 
    //int cols = 0; 
    //int rows = 0; 
    int cols = dataTable.Columns.Count; 
    int rows = dataTable.Rows.Count; 
    pdfDoc.Open(); 
    iTextSharp.text.Table pdfTable = new iTextSharp.text.Table(cols, rows); 
    pdfTable.BorderWidth = 1; 
    pdfTable.Width = 100; 
    pdfTable.Padding = 1; 
    pdfTable.Spacing = 1; 
    //creating table headers 
    for (int i = 0; i < cols; i++) 
    { 

     Cell cellCols = new Cell(); 
     Font ColFont = FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.BOLD); 
     Chunk chunkCols = new Chunk(dataTable.Columns[i].ColumnName, ColFont); 
     cellCols.Add(chunkCols); 

     pdfTable.AddCell(cellCols); 

    } 
    //creating table data (actual result) 
    for (int k = 0; k < rows; k++) 
    { 
     for (int j = 0; j < cols; j++) 
     { 
      Cell cellRows = new Cell(); 
      Font RowFont = FontFactory.GetFont(FontFactory.HELVETICA, 6); 
      Chunk chunkRows = new Chunk(dataTable.Rows[k][j].ToString(), RowFont); 
      cellRows.Add(chunkRows); 
      pdfTable.AddCell(cellRows); 

     } 
    } 
    pdfDoc.Add(pdfTable); 
    pdfDoc.Close(); 
    Response.ContentType = "application/octet-stream"; 
    if (val == 1) 
    { 
     Response.AddHeader("Content-Disposition", "attachment; filename=Users.pdf"); 
    } 
    else if (val == 2) 
    { 
     Response.AddHeader("Content-Disposition", "attachment; filename=Customers.pdf"); 
    } 
    else if (val == 3) 
    { 
     Response.AddHeader("Content-Disposition", "attachment; filename=Materials.pdf"); 
    } 
    else 
    { 
     Response.AddHeader("Content-Disposition", "attachment; filename=Reports.pdf"); 
    } 
    Response.Clear(); 
    Response.BinaryWrite(mStream.ToArray()); 
    //Response.Write(mStream.ToString()); 
    HttpContext.Current.ApplicationInstance.CompleteRequest(); 
    Response.End(); 
} 
+0

你到底在問什麼,這是什麼問題,爲什麼你不能做你想要的? – 2010-05-13 19:16:15

回答

2

是否想使用iTextSharp添加標題?

在這種情況下,擴展PdfPageEventHelper並使用OnStartPage事件。

這是example

相關問題