我需要在jspdf.debug.js中更改默认的pdf页面宽度和字体大小。
在jspdf.debug.js中更改默认值的位置和方式?
答案 0 :(得分:59)
除了使用其中一种默认格式外,您还可以在指定的单位中指定所需的任何尺寸。
例如:
// Document of 210mm wide and 297mm high
new jsPDF('p', 'mm', [297, 210]);
// Document of 297mm wide and 210mm high
new jsPDF('l', 'mm', [297, 210]);
// Document of 5 inch width and 3 inch high
new jsPDF('l', 'in', [3, 5]);
构造函数的第3个参数可以采用维数的数组。然而,它们与宽度和高度不对应,而是长边和短边(或翻转)。
您的第一个参数(landscape
或portrait
)决定了宽度和高度。
在GitHub上的源代码中,您可以看到supported units (relative proportions to pt
),还可以看到默认的page formats (with their sizes in pt
)。
答案 1 :(得分:19)
设置页面类型传递构造函数中的值
jsPDF(orientation, unit, format)
创建新的jsPDF文档对象实例参数:
方向其中一个"肖像"或"风景" (或快捷键" p"(默认)," l")
单位指定坐标时使用的测量单位。其中一个" pt" (分)," mm" (默认)," cm"," in"
格式' a3',' a4' (默认),' A5' '信' '法律'
设置字体大小
setFontSize(size)
设置即将发布的文本元素的字体大小。
参数:
{Number} size以磅为单位的字体大小。
答案 2 :(得分:0)
对于任何试图对此做出反应的人。有细微的差别。
// Document of 8.5 inch width and 11 inch high
new jsPDF('p', 'in', [612, 792]);
或
// Document of 8.5 inch width and 11 inch high
new jsPDF({
orientation: 'p',
unit: 'in',
format: [612, 792]
});
当我尝试@Aidiakapi解决方案时,页面很小。对于不同的尺寸,请以英寸* 72为单位获取所需尺寸。例如,我想要8.5,所以8.5 * 72 = 612。 这是针对jspdf@1.5.3。
答案 3 :(得分:0)
我的情况是打印水平(横向)摘要部分-因此:
}).then((canvas) => {
const img = canvas.toDataURL('image/jpg');
new jsPDF({
orientation: 'l', // landscape
unit: 'pt', // points, pixels won't work properly
format: [canvas.width, canvas.height] // set needed dimensions for any element
});
pdf.addImage(img, 'JPEG', 0, 0, canvas.width, canvas.height);
pdf.save('your-filename.pdf');
});