【问题标题】:jsPDF downloading blank pdfjsPDF下载空白pdf
【发布时间】:2015-04-22 14:49:13
【问题描述】:

我正在使用 jsPDF 从当前 HTML 生成 pdf,如果我将其粘贴到控制台并使用当前 HTML 下载 PDF,则代码可以正常工作,但是当我将其放在 JS 文件中时,它会下载一个空白PDF:

这是代码:

<script>
  function descargar_pdf(){
      var pdf = new jsPDF();
      pdf.addHTML(document.body,function() {});
      pdf.save('Estadodecuenta.pdf');
  };
</script>

从按钮调用函数:

<button class="descargar_pdf" id="ignorePDF" onclick="descargar_pdf();"> Descarga tu estado de cuenta</button>

【问题讨论】:

    标签: jspdf


    【解决方案1】:

    addHTML 函数中的第二个参数是一个回调函数,在呈现 HTML 后调用。

    pdf.addHTML(document.body, function() {
        pdf.save('*.pdf');
    });
    

    【讨论】:

    • 由于某种原因,function() 中的任何内容都没有执行。画布正在渲染,但 pdf.save() 没有被调用。
    • @DevEng 我面临着类似的问题。你修好了吗?
    • @KaviVaidya 抱歉,我不久前放弃了这种方法。我们只是打开一个新窗口,在那里添加HTML 并强制打开打印窗口。然后用户保存为 PDF。
    • @DevEng 但这会摆脱 CSS,对吧?就像打印事物不保留顶部和左侧属性一样。还是只用画布打开新页面?
    • 当我们打开新页面时,我们在 HTML 中传入 css,因此它们的样式被保留。
    【解决方案2】:

    这听起来可能很愚蠢,但是有很多安全插件将 JSPDF 视为“不安全”的 js 并阻止它,我遇到了和你一样的问题,但是在隐身模式(无扩展)下测试它之后它工作很好。

    这可能无法解决您的问题,但您应该牢记这一建议

    【讨论】:

      【解决方案3】:

      html2canvas 的最后一个正常工作版本是 RC1。降级到那个,它应该可以按预期工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-31
        • 2020-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多