1

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

4

2 回答 2

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 确实要花钱,但对于我的上一个项目来说,这是一笔合理的开支。您可以使用试用版来确定您需要什么。

于 2011-04-01T13:57:29.733 回答
0

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

于 2011-04-01T03:04:01.337 回答