Где изменить ширину страницы PDF по умолчанию и размер шрифта в jspdf.debug.js?

Мне нужно изменить ширину страницы PDF по умолчанию и размер шрифта в jspdf.debug.js.

Где и как изменить значения по умолчанию в jspdf.debug.js?


person user3428816    schedule 16.04.2014    source источник


Ответы (4)


Помимо использования одного из форматов по умолчанию, вы можете указать любой размер в указанных вами единицах измерения.

Например:

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

person Aidiakapi    schedule 22.04.2014
comment
если я хочу изменить длину только одной страницы, возможно ли это - person ; 29.07.2014
comment
Я не уверен на 100%, что это невозможно (может быть, для этого есть плагин), но просмотр исходного кода показал, что это не в реализации по умолчанию. - person Aidiakapi; 30.07.2014
comment
Не могли бы вы взглянуть на этот вопрос - person ; 30.07.2014
comment
Да, ты можешь. Проверьте мой ответ на: stackoverflow.com/questions/41848540 /jspdf-изменить-формат-страницы/ - person zameb; 30.09.2017
comment
Аккуратно, но в свое время addPage еще не принимал аргументы: old, новый. - person Aidiakapi; 01.10.2017

Со страницы документации

Чтобы установить тип страницы, передайте значение в конструкторе

jsPDF(orientation, unit, format) Создает новый объект документа jsPDF

Параметры экземпляра:

ориентация: книжная или альбомная (или сочетания клавиш p (по умолчанию), l)

unit Единица измерения, используемая при указании координат. Один из pt (точек), мм (по умолчанию), см, дюймов

формат Один из «a3», «a4» (по умолчанию), «a5», «letter», «legal»

Чтобы установить размер шрифта

setFontSize(size)

Устанавливает размер шрифта для предстоящих текстовых элементов.

Параметры:

{Number} size Размер шрифта в пунктах.

person Ramesh    schedule 16.04.2014

Для тех, кто пытается это реагировать. Есть небольшая разница.

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

person levif1    schedule 27.12.2019

Мой случай заключался в том, чтобы напечатать горизонтальный (альбомный) сводной раздел - так:

}).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');
});
person Kurkov Igor    schedule 03.12.2020
comment
Подсказка с единицей измерения: 'pt' помогла мне приблизиться. - person Eli; 06.04.2021
comment
@Kurkov Вы, сэр, просто гений! - person Tool; 16.06.2021