【问题标题】:ASP.Net page export to pdfASP.Net 页面导出为 pdf
【发布时间】:2011-04-01 02:55:22
【问题描述】:

我无法将 ASP.Net 导出为 PDF。以下是我的代码。请帮忙。

Response.Clear();    
Response.Buffer = true;    
Response.Charset = Encoding.UTF8.HeaderName;    
Response.ContentEncoding = Encoding.UTF8;

Response.Write(string.Format("<meta http-equiv=Content-Type content=text/html;charset={0}>", Encoding.UTF8.HeaderName));

Response.ContentType = "application/pdf";    
Response.Headers.Add("Content-disposition", "attachment; filename=pdffilename.pdf");

StringBuilder sb = new StringBuilder();    
sb.Append("MIME-Version: 1.0\r\n");    
sb.Append("X-Document-Type: Worksheet\r\n");    
sb.Append("Content-Type: multipart/related; boundary=\"----=mtrSystem\"\r\n\r\n\r\n");    
sb.Append("------=mtrSystem\r\n");    
sb.Append("Content-Type: text/html; charset=\"utf-8\"\r\n");    
sb.Append("<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\n");    
sb.Append("xmlns:x=\"urn:schemas-microsoft-com:office:pdf\">\r\n\r\n\r\n");     
sb.Append("------=mtrSystem\r\n");    
sb.Append("Content-ID: baiduimg\r\n");    
sb.Append("Content-Transfer-Encoding: base64\r\n");    
sb.Append("Content-Type: image/png\r\n\r\n");

我可以用这种方式将我的 ASP.Net 页面导出为 PDF 吗?

【问题讨论】:

  • 也许吧,但我会改用 HttpHandler 并查看 pdfsharp.com/PDFsharp
  • 你有什么问题?你试过什么?您采取了哪些措施来缩小错误的来源?抛出了什么错误?你想用这段代码做什么?

标签: asp.net export-to-pdf


【解决方案1】:

Html-to-pdf.net 允许将 html 转换为 pdf。要从 asp.net 页面获取 html,请使用以下代码:

StringWriter sw = new StringWriter();
Server.Execute("PageToConvert.aspx", sw);
string htmlCodeToConvert = sw.GetStringBuilder().ToString();

然后将 html 传递给 pdf 生成器:

public byte[] GetPdfBytesFromHtmlString (string htmlString)

然后您可以将字节保存到响应以发送到客户端,或在服务器上保存为本地文件。

编辑:

需要记住的是,html-to-pdf 是 cost money,但对于我的上一个项目来说,这是一个合理的开支。您可以使用试用版来确定您需要什么。

【讨论】:

    【解决方案2】:

    我不完全确定您要做什么,但通常我强烈推荐 PDFSharp 在代码中创建 PDF 文档...

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2013-04-09
      相关资源
      最近更新 更多