Windows版のwkhtmltopdf 0.12.2.4でハガキサイズのPDFを作ろうとして、余白を消すのに苦労したのでメモ。
ハガキの大きさ100x148mmをCSSで指定。
<!DOCTYPE html> <html> <head> <style> * { margin: 0; padding: 0; } .page { position: relative; width: 100mm; height: 148mm; page-break-inside: avoid; page-break-after: always; } .page_header { position: absolute; top: 0mm; left: 0mm; width: 100%; height: 10mm; background-color: #ffeeee; } .page_footer { position: absolute; top: 138mm; left: 0mm; width: 100%; height: 10mm; background-color: #eeeeff; } .page_content { position: absolute; top: 10mm; left: 0mm; width: 100%; background-color: #eeffee; } </style> </head> <body> <div class="page"> <div class="page_header">header</div> <div class="page_content">sample</div> <div class="page_footer">footer</div> </div> </body> </html>
上記を仮にhagaki.htmlという名で作成したとして、次のオプションでwkhtmltopdfを実行する。
\path\to\wkhtmltopdf.exe ^ --page-width 100mm --page-height 148mm ^ -T 0 -L 0 -B 0 -R 0 --disable-smart-shrinking ^ hagaki.html hagaki.pdf
3行目が肝。
「-T 0 -L 0 -B 0 -R 0」だけだと上と左の余白はなくなったが、全体が縮小されて右と下に余白ができてしまった。
「--disable-smart-shrinking」を追加したところ、縮小されなくなって余白もなくなった。