首页 > 解决方案 > 使用 jspdf .html() 方法在导出为 pdf 之前调整 html 的大小

问题描述

我试图弄清楚如何使用 jsPDF.html()方法调整 HTML 元素的大小。

我尝试使用下面的代码,但该width选项似乎没有对输出进行任何更改。

我只是假设width这是一个选项,.html()不幸的是,截至目前,该方法没有文档,应该从代码中猜测它。

此外,在我看来,它应该从html2canvas options中选择,这就是我尝试使用width.

无论如何,代码:

var legend = document.getElementById("my-table");
var pdf = new jsPDF(orientation, undefined, format);
pdf.html(legend, {
    width: 200,
    callback: function () {
        window.open(pdf.output('bloburl'));
     }
});

#我的表

<table>
    <tr>
        <td><img src="image1.jpeg"></td>
    </tr>
    <tr>
        <td><img src="image2.jpeg"></td>
    </tr>
    ...
</table>

标签: javascripthtmlpdfjspdfhtml2canvas

解决方案


将选项传递给 html2canvas:

pdf.html(legend, {
    html2canvas: {
        // insert html2canvas options here, e.g.
        width: 200
    },
    callback: function () {
        // ...
    }
});

对我来说,该选项scale可以很好地调整大小。您可以检索源中列出的默认页面尺寸来计算所需的比例因子。


推荐阅读