1

我正在用 C# 编写一个报告项目,该项目使用 Razor 页面生成 HTML 和 HiQ 以将 HTML 转换为 PDF。在我们添加一个包含大量数据的新报告之前,它一直运行良好——原始数据为 2.5mb,另存为文本文件,最终结果为 5.8m 200 页的 pdf。

这份报告的转换过程花费了令人无法接受的时间——1.5 分钟。作为一项测试,我们删除了使用 OpenHtmlToPdf* 的旧代码,该代码在 20 秒内运行相同的报告。

有没有办法调整我们的代码或 HiQ 引擎来提高性能?

我们的代码:

     public Stream ConvertToPdf(string html, ReportSettings reportSettings)
            {
                var htmlToPdf = new HtmlToPdf();
                htmlToPdf.SerialNumber = SerialNumber;
    
                if (reportSettings.Landscape)
                {
                    htmlToPdf.Document.PageOrientation = PdfPageOrientation.Landscape;
                }
                htmlToPdf.Document.PageSize = PdfPageSize.Letter;
                htmlToPdf.Document.Margins = new PdfMargins(25, 25, 15, 15);
    
                SetFooter(htmlToPdf);
    
                var pdfData = htmlToPdf.ConvertHtmlToMemory(html, Url);
                var memoryStream = new MemoryStream(pdfData);
    
                return memoryStream;
            }

  • 我们切换到 HiQ 是因为 OpenHtmlToPdf 不再更新并且不支持 CSS3。
4

0 回答 0