JavaScript - html2canvas + jsPDF - 用紙サイズ


クラウディア 


1. 概要
2. 用紙サイズ
3. マージン
4. 参考サイト

1. 概要

 「jsPDF」で、用紙サイズを設定する方法です。

2. 用紙サイズ

 宣言時に用紙サイズを決めます。

const pdf = new jsPDF('l', 'mm', 'a4');

const imgWidth   = 297;
const pageHeight = 210;
 は、「A4 横 サイズ指定単位 mm で 横幅 297mm 縦幅 210mm」という意味です。  下記のような、使い方ができます。
意味 宣  言 備考
縦横 l(landscape)横、p(portrait)縦(デフォルト)
単位 mm, pt, px, in など
サイズ a3, a4, letter など

3. マージン

 前項に続けて、下記の要領で、マージンをとることができます。

const margin = 10; 								// 上下左右10mmのマージン

const imgWidth = pageWidth - margin * 2; 		// 横幅をマージン分小さく
const imgHeight = (canvas.height * imgWidth) / canvas.width;

let heightLeft = imgHeight;
let position = margin; 							// 最初のページの開始位置(上マージン)

// 1ページ目
pdf.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight);
 てな感じで書けばいいらしい。  (未検証)

4. 参考サイト

 本ページは、「ChatGPT」くんを参考にさせていただきました。