我需要在 jspdf.debug.js中更改默认的 pdf 页面宽度和字体大小。
在哪里以及如何更改 jspdf.debug.js 中的默认值?
我需要在 jspdf.debug.js中更改默认的 pdf 页面宽度和字体大小。
在哪里以及如何更改 jspdf.debug.js 中的默认值?
除了使用其中一种默认格式外,您还可以在指定的单位中指定所需的任何大小。
例如:
// 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]);
构造函数的第三个参数可以采用维度数组。但是它们不对应宽度和高度,而是长边和短边(或翻转)。
您的第一个参数(landscape
或portrait
)决定了宽度和高度。
在 GitHub 上的源代码中,您可以看到支持的单位(与 的相对比例pt
),您还可以看到默认的页面格式(其大小为pt
)。
从文档页面
要设置页面类型,请在构造函数中传递值
jsPDF(orientation, unit, format)
创建新的 jsPDF 文档对象实例参数:
方向“纵向”或“横向”之一(或快捷方式“p”(默认)、“l”)
unit指定坐标时使用的测量单位。“pt”(点)、“mm”(默认)、“cm”、“in”之一
格式'a3'、'a4' (默认)、'a5' 、'letter' 、'legal' 之一
设置字体大小
setFontSize(size)
为即将出现的文本元素设置字体大小。
参数:
{Number} size 字体大小,以磅为单位。
对于任何试图对此做出反应的人。有一点不同。
// 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]
});
When i tried the @Aidiakapi solution the pages were tiny. For a difference size take size in inches * 72 to get the dimensions you need. For example, i wanted 8.5 so 8.5 * 72 = 612. This is for jspdf@1.5.3.
My case was to print horizontal (landscape) summary section - so:
}).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');
});