0

我正在使用下面的代码将 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.

有什么建议吗?

4

0 回答 0