48

我需要在 jspdf.debug.js中更改默认的 pdf 页面宽度和字体大小。

在哪里以及如何更改 jspdf.debug.js 中的默认值?

4

4 回答 4

91

除了使用其中一种默认格式外,您还可以在指定的单位中指定所需的任何大小。

例如:

// 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]);

构造函数的第三个参数可以采用维度数组。但是它们不对应宽度和高度,而是长边和短边(或翻转)。

您的第一个参数(landscapeportrait)决定了宽度和高度。

在 GitHub 上的源代码中,您可以看到支持的单位(与 的相对比例pt,您还可以看到默认的页面格式(其大小为pt

于 2014-04-22T16:46:07.357 回答
36

文档页面

要设置页面类型,请在构造函数中传递值

jsPDF(orientation, unit, format)创建新的 jsPDF 文档对象

实例参数:

方向“纵向”或“横向”之一(或快捷方式“p”(默认)、“l”)

unit指定坐标时使用的测量单位。“pt”(点)、“mm”(默认)、“cm”、“in”之一

格式'a3'、'a4' (默认)、'a5' 、'letter' 、'legal' 之一

设置字体大小

setFontSize(size)

为即将出现的文本元素设置字体大小。

参数:

{Number} size 字体大小,以磅为单位。

于 2014-04-16T08:41:54.417 回答
5

对于任何试图对此做出反应的人。有一点不同。

// 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.

于 2019-12-27T17:42:52.307 回答
5

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');
});
于 2020-12-03T11:08:38.880 回答