【问题标题】:html2pdf and html2canvas returnin blank pagehtml2pdf 和 html2canvas 返回空白页
【发布时间】:2022-02-02 21:05:25
【问题描述】:

我正在尝试以 pdf 格式导出页面的正文元素,然后打印它,我检查了元素大小(宽度和高度),它们比我要导出的 A4 格式大,这里是代码:

        var filename;
        var element = document.getElementsByTagName("BODY")[0];
        if (Object.keys(Chart.instances).length > 0) {
            filename = "Report_chart_" + $("#DDlQqtp option:selected").text().replace(/ /g, "_") + ".pdf";
        } else {
            filename = "Report_test" + $("#DDlQtp option:selected").text().replace(/ /g, "_") + ".pdf";
        }
        var options = {
            filename: filename,
            image: { type: 'jpeg', quality: 1 },
            jsPDF: { unit: 'pt', format: 'a4', orientation: 'l' }
        };
        html2pdf().set(options).from(element).save();

但是宽度正在减少,我看不到正文中表格的最后一列,并且在 2 页之后它开始给出空白页。

现在我可以理解宽度了,因为它肯定比 a4 格式更宽,但为什么还要高度呢?它应该简单地转到另一个页面,而不是尝试导出我的 pdf,给它与我身体相同的高度,一旦超过它就开始给出空白页。

如何将我的元素(宽度和高度)放入 A4 格式?如果我将 body 的值更改为 800x800 px,它可以工作,但我想在不修改 HTML 的情况下实现它。

谢谢

【问题讨论】:

  • 试图找到一些答案,但我能找到的最接近的答案是this SO post。那里的建议是关于将 style 或 width 属性添加到您的 <table> 或 <td> 的。也许<col> 的使用会有所帮助

标签: javascript html2canvas html2pdf


【解决方案1】:

设置边距可以解决你的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多