html2pdf页面大小,javascript – JSPDF – 如何将具有各种页面大小(高度和宽度)的多个图像导出到单个pdf文件...

我有多个不同大小(高度和宽度)的图像需要使用jspdf转换为PDF,但我无法使用addPage()函数来做到这一点.

是否可以将具有不同页面大小的图像导出为单个pdf?

解决方法:

我实际上能够使用addPage([imgWidth, imgHeight])添加具有不同图像大小的多个页面,除了第一页,其由新的jsPDF(‘l’,’pt’,’a4′)定义.

可以使用.deletePage(1)删除空白的第一页.如果愿意,您还可以在第一页添加一些文本.

crossorigin="anonymous">

function exportPdf(urls) {

let pdf = new jsPDF('l', 'pt', 'a4');

pdf.text(20, 20, 'Some text here');

for (let i = 0; i < urls.length; i++) {

let img = new Image();

img.src = urls[i];

img.onload = function () {

const imgWidth = this.width;

const imgHeight = this.height;

const imgRatio = imgWidth / imgHeight;

if (i >= 0) {

if (imgRatio > 0) {

pdf.addPage([imgWidth, imgHeight]);

}

else {

pdf.addPage([imgWidth, imgHeight], 'p');

}

}

pdf.setPage(i + 2);

pdf.addImage(img, 'JPEG', 0, 0, imgWidth, imgHeight, null, 'NONE');

if (i == urls.length - 1) {

pdf.save('Photos.pdf');

}

}

}

}

更好但更复杂的方法是使用固定页面格式并计算图像大小和宽高比,然后相应地设置参数(并根据需要旋转图像),以便图像可以适合纸张,即a4在此案件.它可以是pdf.addImage(img,’JPEG’,adjustX,adjustedY,adjustWidth,adjustedHeight,null,’NONE’);或pdf.addImage(img,’JPEG’,adjustX,adjustedY,adjustedWidth,adjustedHeight,null,-90);

标签:jspdf,javascript,jquery

来源: https://codeday.me/bug/20191002/1843954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值