Python:wkhtmltopdfでHTML(URLも可)からしおり付きのPDFを作成する方法

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

Pythonのライブラリ wkhtmltopdf を利用して、HTMLファイル(URLからでも)からしおり付きのPDFを作成する方法をメモ代わりに書いています。
環境は、Windowsを想定していて、Pythonがインストールされていることが前提です。

1.wkhtmltooxをダウンロード

以下のページの How do I use it? の Download a precompiled binary より、wkhtmltooxをダウンロードします。
https://wkhtmltopdf.org/

2.wkhtmltooxの動作テストを行う

以下(wkhtmltooxがインストールされた場所)へパスを通すか、コマンドプロンプト(管理者権限で)から以下のパスへと cd コマンドで移動して、wkhtmltooxの動作テストを行います。

C:\Program Files\wkhtmltopdf\bin

管理者権限でコマンドプロンプトを立ち上げ、wkhtmltooxサイトの例にあるようにコマンドを実行します。

wkhtmltopdf http://google.com google.pdf

google.comのサイトのPDFが、コマンド実行ディレクトリにて作成されていたら成功です。

3.HTMLからしおり付きのPDFを作成する

上記で紹介したwkhtmltooxのトップページ中、Additional options に Check out the auto-generated wkhtmltopdf manual というリンクから、コマンドオプションの説明を見ることができます。
しおりのコマンドオプション(--include-in-outline)はデフォルトで有効みたいです。

次に、HTMLを作成します。
以下の画像のように、hタグで調整して、しおりを入れ子にする事ができます。
画像の挿入も可能です。


<body>
<h1>ああああ</h1>
<p>~について</p>

<h2>いいい</h2>
<p>~について<br>
リスクを取るべきか取らざるべきか<br>
<img src="img/risk.jpg" width="660" height="294">
</p>

</body>

今回は作成したHTMLから(オンラインのURLから作成することも可能)、しおり付きのPDFを作成します。
「wkhtmltopdf\bin」以下にパスを通していない場合には、「wkhtmltopdf\bin」以下にて下記のコマンドを実行してください。
以下の例では、sample.htmlはコマンド実行ディレクトリにあることを想定しています。

wkhtmltopdf sample.html sample.pdf

No tags for this post.

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.