40
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3でpdfを作る多分一番簡単な方法

Posted at

結論から

  1. wkhtml2pdfをインストール
  2. html+cssで書類を整形する
  3. wkhtml2pdfでpdf化

以上。あっPython関係無い!

とにかく、2時間程度でpdf出力機能の実装がおわったので、時間ないときに良いと思います。

参考:http://tdoc.info/blog/2012/09/19/wkhtmltopdf.html

良い点と悪い点

良い

・書類をhtml+cssで作れるから超簡単。
・特に、Webアプリにpdf出力機能をつける場合の親和性が良い。ブラウザで見えるものならpdfにできるわけなので、「書類ページ」を作ればいいだけ。ほかの一般ページと同列にテンプレートのメンテナンスができる。

悪い

・html+cssだから制御が限られる。主に縦方向の。書類の下余白とかどうでもいい場合だけ使える。

Pythonからwkhtml2pdfを呼ぶ方法

コマンド叩けばいいだけだけど、PythonラッパのPython-wkhtml2pdf ってのがあって超絶便利だった。
Python2 onlyだけど数分で対応できます。
いちおうフォークしてPython3対応したやつをここに置いた
https://github.com/yasunori/python-wkhtmltopdf/tree/myFeatureSpike
PRしてないのは、元がPython2.5を動作対象にしてて、やだなーってなっています。printとか。__future__ 使えないし、これどうすればいいんでしょう偉い人教えてください。

捕捉

Pythonでのpdf作成、他の有名な方法

Sphinx

Pythonでドュメントといえば、だけど、今回はもっと、サクッとやりたかったので見送り。
http://tk0miya.hatenablog.com/entry/20111208/p1

reportlab

Python, pdf で検索すると大体出てくるのがこれだけど、Python2なので今回は見送り。
と思ってたらPython3対応してたー!
http://www.reportlab.com/software/documentation/relnotes/30/
今度ためしてみよう……

おしまい

40
37
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?