2015-10-20 32 views
-4

我唯一需要的是在公司名称上添加公司名称,也是今天的日期,但现在一切都在为我工作。用户可以选择特定的行并以PDF格式导出选定的行,但我需要顶部的公司名称,请大家帮忙。谢谢如何在asp.net中创建发票

protected void ExportToPDF(object sender, EventArgs e) 
    { 


     using (StringWriter sw = new StringWriter()) 
     { 
     using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
     { 

      //Hide the Column containing CheckBox 
      GridView1.Columns[0].Visible = false; 
      foreach (GridViewRow row in GridView1.Rows) 
      { 
      if (row.RowType == DataControlRowType.DataRow) 
      { 
       //Hide the Row if CheckBox is not checked 
       row.Visible = (row.FindControl("chkSelect") as CheckBox).Checked; 
       // pnlBtn.Visible = true; 
      } 
      } 

      GridView1.RenderControl(hw); 
      StringReader sr = new StringReader(sw.ToString()); 
      Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f); 
      HTMLWorker htmlparser = new HTMLWorker(pdfDoc); 
      PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
      pdfDoc.Open(); 
      htmlparser.Parse(sr); 
      pdfDoc.Close(); 

      Response.ContentType = "application/pdf"; 
      Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf"); 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.Write(pdfDoc); 
      Response.End(); 
     } 
     } 

    } 
+0

如果我的阅读正确,您已将网格写入HTML转换为PDF并发送到客户端。那么,你有什么问题?你有没有在网格中添加一个包含名称/日期的行?您是否在向中间HTML添加div或文本失败?你有没有在配置PdfWriter添加页面标题失败?你到目前为止尝试过这些东西吗? – quetzalcoatl

回答

1

我想你只需要在呈现gridview之前编写标题。

hw.Write("<H1>This is my title</H1>"); 
GridView1.RenderControl(hw);