在使用 jspdf .html() 方法导出为 pdf 之前调整 html 大小

umb*_*987 3 html javascript pdf html2canvas jspdf

我试图弄清楚如何使用 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'));
     }
});
Run Code Online (Sandbox Code Playgroud)

#我的表

<table>
    <tr>
        <td><img src="image1.jpeg"></td>
    </tr>
    <tr>
        <td><img src="image2.jpeg"></td>
    </tr>
    ...
</table>
Run Code Online (Sandbox Code Playgroud)

小智 7

将选项传递给 html2canvas:

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

对我来说,这个选项scale对于调整大小来说效果很好。您可以检索源中列出的默认页面尺寸来计算所需的缩放系数。

  • 谢谢。尝试使用scale:0.5,效果很好。公认。 (4认同)