【发布时间】:2020-09-25 03:13:19
【问题描述】:
我正在使用 NReco PDF 生成器来创建一些相当长的 html 表格的 PDF。大多数时候它工作正常,但有时它会生成一个只有两个空白页的 PDF(一个空白页是封面,然后是一个带有正确页眉和页脚的空白页)。我认为 html 本身没有任何问题,因为它确实成功地生成了具有相同输入的完整文档。
这可能是由于页面数量过多而导致的超时问题吗?根据我看到的另一篇文章,我尝试使用此可选参数初始化转换器,但没有帮助:
NReco.PdfGenerator.HtmlToPdfConverter pdfConverter = new NReco.PdfGenerator.HtmlToPdfConverter{ CustomWkHtmlPageArgs = " --no-stop-slow-scripts" };
还有什么我应该调整的吗,或者有谁知道还有什么可能导致这种情况?
更新:这主要发生在 Chrome 中。我在浏览器中的新选项卡中生成了 PDF,我认为这可能是一个缓存问题,所以我在 url 中添加了一个时间戳参数,因此它每次都是唯一的,但这似乎没有帮助。
最终更新:将 --javascript-delay 2500 添加到 CustomWkHtmlPageArgs 似乎已经解决了问题,所以我认为这一定是在数据完全加载之前生成 PDF 的问题。
【问题讨论】:
-
NReco.PdfGenerator 在后台执行 wkhtmltopdf,它肯定会自行“随机”添加空白页 - PDF 输出完全取决于您输入的 HTML。
-
嗨 Vitaliy,什么会导致完全相同的 html 输入有时正确呈现而有时呈现空白页?我尝试将 --javascript-delay 2500 添加到 CustomWkHtmlPageArgs 中,这似乎对一些人有所帮助,所以我想知道在尝试生成 pdf 之前,有时是否存在数据未完全加载的问题。数据作为表单变量传递到页面。
标签: pdf-generation wkhtmltopdf nreco