ASP.Net页面导出为pdf

时间:2011-04-01 02:55:22

标签: asp.net export-to-pdf

我的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吗?

2 个答案:

答案 0 :(得分:2)

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,但对于我的上一个项目,这是一个合理的费用。您可以使用试用版来确定您需要的内容。

答案 1 :(得分:0)

我不完全确定你要做什么,但一般来说我强烈建议PDFSharp用于在代码中创建PDF文档......