pdfkit ページヘッダを付ける

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)

このように Python スクリプトを書くことになります。

フッタを付与する場合も、単純に、"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 を指定してます。