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

Javascript 使用jspdf.html()方法导出为pdf之前调整html大小,javascript,html,pdf,jspdf,html2canvas,Javascript,Html,Pdf,Jspdf,Html2canvas,我试图弄清楚如何用jsPDF方法调整HTML元素的大小 我尝试使用下面的代码,但是宽度选项似乎没有对输出进行任何更改 我只是假设width是.html()的一个选项,不幸的是,到目前为止, 这个方法没有文档,人们应该猜得到 而且,在我看来,它应该从中选择,这就是为什么我尝试使用宽度 无论如何,代码: var legend = document.getElementById("my-table"); var pdf = new jsPDF(orientation, undefined, forma

我试图弄清楚如何用jsPDF方法调整HTML元素的大小

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

我只是假设
width
.html()
的一个选项,不幸的是,到目前为止, 这个方法没有文档,人们应该猜得到

而且,在我看来,它应该从中选择,这就是为什么我尝试使用
宽度

无论如何,代码:

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>

...

我不知道jspdf到底是什么,但似乎你没有拼写上

var legend = document.getElementsById("my-table");
在这里

var legend = document.getElementById("my-table");
也许,您可以通过css或样式属性调整这些表的大小

<table style="width:200;">
    <tr>
        <td><img src="image1.jpeg"></td>
    </tr>
    <tr>
        <td><img src="image2.jpeg"></td>
    </tr>
    ...
</table>

将选项传递给html2canvas:

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

对我来说,
scale
选项可以很好地调整大小。您可以检索默认页面维度以计算所需的比例因子。

我没有找到调整HTML对象大小的方法。相反,您可以将测量单位从mm(默认)更改为pt。这将使所有尺寸从原来的1/3左右减少。例如:

doc = new jsPDF('portrait', 'pt', 'a4');

重要提示:任何其他对象(如文本、线条等)的大小和位置也将减小。所以要小心。

谢谢。我将更改错误的代码。无论如何,问题是我不想通过css调整表的大小,因为只要jsPDF将其转换为PDF,它就会尝试适应页面大小。@umbe1987好的,或者您可以固定文档的宽度和高度,并布局所有内容。只是理论而已。。。我找到了html文档。在这里查一下,再次谢谢。我知道文档的那一页,但是如果你看一下,除了“可选设置的对象”之外,没有对选项的描述。谢谢。尝试使用比例:0.5,效果良好。接受。
图像
选项是什么?
doc = new jsPDF('portrait', 'pt', 'a4');