Мне нужно изменить ширину страницы PDF по умолчанию и размер шрифта в jspdf.debug.js.
Где и как изменить значения по умолчанию в jspdf.debug.js?
Мне нужно изменить ширину страницы PDF по умолчанию и размер шрифта в jspdf.debug.js.
Где и как изменить значения по умолчанию в 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 (точек), мм (по умолчанию), см, дюймов
формат Один из «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]);
or
// 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. Это для [email protected].
Мой случай заключался в том, чтобы напечатать горизонтальный (альбомный) сводной раздел - так:
}).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');
});