我正在尝试使用jsPDF lib生成pdf。我能够构建pdf,但有没有办法将页面大小传递给pdf的每个页面?我目前正在输出pdf,并在我添加的每个“图像”下方留出一些额外的空白区域。
这是pdf上其中一个页面的屏幕截图。它有图像,然后有白色空间填充该页面的其余部分。我的右侧也有空白区域,因为宽度也比我的图像宽。宽度不像高度问题那么大。我确信我可以通过在下一行设置x,y值来扫描图像:
pdf.addImage(img, 'JPEG', 0, 0);
但这对我的身高无济于事。
我目前只是将图像分成每页pdf 1,我希望所有页面的大小相同。我会知道图像的大小,并希望像这样传递选项:
var pdf = new jsPDF(options, '', '', '');
或
pdf.addPage(options);
是否可以设置pdf的宽度和高度或pdf的各个页面?
答案 0 :(得分:4)
您应该能够在创建pdf时选择足够接近您想要的页面格式,如下所示:
var pdf = new jsPDF("l", "pt", "letter");
第三个参数来自文件中jsPDF声明顶部的pageFormats对象。
此外,您应该能够缩放图像,使其在页面上填充适当的大小。如果您查看addImage函数的原型,您将看到可以传递:
addImage(imageData, format, x, y, w, h, alias, compression);
其中w和h是图像的预期范围。根据我的经验,jsPDF从源头缩小图像没有问题,所以我认为没有理由不能扩展它。
编辑:
请注意,如果您打算将pdf创建为var pdf = new jsPDF(options, '', '', '');
,则可以将选项设置为:
options = {
orientation: "l",
unit: "pt",
format: "letter"
};