【问题标题】:How to create an invoice in asp.net如何在asp.net中创建发票
【发布时间】:2015-10-20 00:37:08
【问题描述】:

我唯一需要的是在顶部添加公司名称以及今天的日期,但其他一切现在都对我有用。用户可以选择特定的行并以 pdf 格式导出选定的行,但我需要顶部的公司名称,请帮忙。谢谢

 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();
        }
      }

    }

【问题讨论】:

  • 如果我没看错的话,您已经将一个 Grid 写入 HTML 转换为 PDF 并发送给客户端。那么,你有什么/哪里有问题?您是否未能在网格中添加带有名称/日期的行?您是否在向中间 HTML 添加 div 或文本时失败了?您是否未能配置 PdfWriter 添加页眉?到目前为止,您是否尝试过这些方法?

标签: c# asp.net invoice


【解决方案1】:

我想你只需要在渲染 gridview 之前写下标题。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2018-11-05
    • 1970-01-01
    • 2023-03-27
    • 2015-05-27
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多