首页 > 解决方案 > html2pdf 和 html2canvas 返回空白页

问题描述

我正在尝试以 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 的情况下实现它。

谢谢

标签: javascripthtml2canvashtml2pdf

解决方案


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


推荐阅读