Python pdfkit で、ページ番号などページヘッダを付ける方法のメモ
wkhtmltopdf のオプション説明 Help を読めばいいのですが、
→ https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
オプションに、header-left で、ヘッダ左端に付与する文字列、
header-right でヘッダ右端に付与する文字列を
header-center でヘッダ中央に付与する文字列を
指定することになっており、
'header-left': '[webpage]', 'header-right': 'Page [page] of [toPage]'
で、
[webpage] → URL参照のパス
[page] → ページ番号
[toPage] → 総ページ数
に置き換わります。
# -*- coding: UTF-8 -*- import pdfkit options = { 'page-size': 'A4', 'orientation': 'Portrait', 'margin-top': '0.4in', 'margin-right': '0.4in', 'margin-bottom': '0.4in', 'margin-left': '0.4in', 'encoding': "UTF-8", 'no-outline': None, 'header-left': '[webpage]', 'header-right': 'Page [page] of [toPage]' } pdfkit.from_file("sample.html", "out.pdf", options=options)
フッタを付与する場合も、単純に、"header" → "footer" に置き換わった指定をするだけです。
footer-left :フッタ左端
footer-right :フッタ右端
footer-center :フッタ中央
また、ヘッダ部分を別のHTML で用意するカスタムヘッダの方法もあり、
その場合は、--header-html で、ヘッダHTMLを指定します。
options = { 'page-size': 'A4', 'orientation': 'Portrait', 'margin-top': '0.4in', 'margin-right': '0.4in', 'margin-bottom': '0.4in', 'margin-left': '0.4in', 'encoding': "UTF-8", 'no-outline': None, '--header-html': 'header.html' }
のように option を指定してます。