結論
Format指定は A4 ではなく a4 と書きます
(大文字ではありません小文字です)
以下に例示します
---
puppeteer:
format: "a4" # 用紙フォーマット指定 a0 ~ a6, letter, legal...
landscape: false # 用紙方向
# printBackground: false # 背景画像
# margin: # マージン
# top: 10mm
# bottom: 10mm
# left: 10mm
# right: 10mm
---
経緯
と、これだけで終わってもかまわんのですが、一応
MPEのサイズ指定は検索をするといくらでも出てきます
本家にも例示されています
---
puppeteer:
landscape: true
format: "A4"
timeout: 3000 # <= Special config, which means waitFor 3000 ms
---
しかし、この通り書いても出力されるpdfの用紙サイズはUS レターのままです
大抵のアプリではどうもプリンタの用紙設定に寄せてくれるようでエラーは出ないのですが、私が普段使用してるPDF-XChange Editor
は US レター
のまま出力してくれますので印刷のたびに「用紙サイズが違います」とエラーが出てしまいます
その度にプリンタまで行ってエラー解除、印刷再開するのが大変面倒なので精神的にも、物理的にも重い腰を上げて調べることにしました
世の中のWEBの記事のほとんどはきちんと検証されていない様子で、本家と同様の記述となっております
で、実際のオプションを指定しているgithubのpuppeteer/src/common/PDFOptions.ts
を調べてみました
その中で用紙サイズのオプション部分が以下になります
export type PaperFormat =
| 'letter'
| 'legal'
| 'tabloid'
| 'ledger'
| 'a0'
| 'a1'
| 'a2'
| 'a3'
| 'a4'
| 'a5'
| 'a6';
小文字だよ。orz
まぁ、本家から間違えてるし、大概のアプリは用紙サイズの差異を吸収してくれるしで困ってない人の方が多いのでしょうが、記事を書くならもう少し検証してほしいなぁ、と思った本日のTipsでした。
お粗末!