Экспорт страницы ASP.Net в 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?


person Jane    schedule 01.04.2011    source источник
comment
Возможно, но вместо этого я бы использовал HttpHandler и заглянул в pdfsharp.com/PDFsharp   -  person tvanfosson    schedule 01.04.2011
comment
Какие у вас проблемы? Что ты пробовал? Какие шаги вы предприняли, чтобы сузить круг причин возникновения ошибки? Какие ошибки выкидывают? Что вы пытаетесь сделать с этим кодом?   -  person Justin Morgan    schedule 01.04.2011


Ответы (2)


Html-to-pdf.net позволяет конвертировать HTML в PDF. Чтобы получить html со страницы asp.net, используйте следующий код:

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

Затем передайте html в генератор pdf:

public byte[] GetPdfBytesFromHtmlString (string htmlString)

Затем вы можете сохранить байты в ответ для отправки клиенту или сохранить на сервере как локальный файл.

РЕДАКТИРОВАТЬ:

Следует иметь в виду, что преобразование html в pdf стоит денег, но для мой последний проект был оправданным расходом. Вы можете использовать пробную версию, чтобы выяснить, что вам нужно.

person Chris    schedule 01.04.2011

Я не совсем уверен, что вы пытаетесь сделать, но в целом я настоятельно рекомендую PDFSharp для создания документов PDF в код...

person Jakob Gade    schedule 01.04.2011