我正在使用下面的代码将 HTML 转换为 PDF 并下载:
public void generatePdfFromHtml(string html, string reportName)
{
try
{
Byte[] bytes;
string content = html;
using (var ms = new MemoryStream())
{
var doc = new Document();
if (reportName == "abc" || reportName == "cdf")
{
doc = new Document(PageSize.A4_LANDSCAPE, 10, 10, 20, 10);
}
else
{
doc = new Document(PageSize.A4, 30, 30, 30, 30);
}
var writer = PdfWriter.GetInstance(doc, ms);
doc.Open();
doc.NewPage();
var example_html = content;
using (var htmlWorker = new iTextSharp.text.html.simpleparser.HTMLWorker(doc))
{
using (var sr = new StringReader(example_html))
{
htmlWorker.Parse(sr);
}
}
doc.Close();
bytes = ms.ToArray();
}
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=RegisteredCourses_" + General.Session.UserID + ".pdf");
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
Response.End();
Response.Close();
}
catch (Exception ex)
{
}
}
该代码在另一个页面上工作得非常好,相同的编码到现在为止都很好,它不会下载。一切正常,我看到代码到达Response...
。但是在萤火虫中使用控制台窗口我看到了这个错误:
Error: Sys.WebForms.PageRequestManagerParserErrorException: The message
received from the server could not be parsed.
有什么建议吗?