青色申告決算書をPDFで出力する(その2 Ruby、Pythonのライブラリ)

 

Ruby

Rubyに関しては、まだまだRubyやRails自体の勉強も必要なんだが、言語の細かい仕様はともかく、「PDFで決算書を出力」という要件を満たせそうかどうかは情報を拾っていけば分かる。

Prown

公式サイト:http://prawnpdf.org/api-docs/2.0/

最新バージョンはv2.1.0で2016年2月のリリース。ライセンスはRubyライセンスとGPLv2 or GPLv3のデュアルライセンスのようだ。
公式サイトの説明を見る限り、Rubyのバージョンは気にしなくても大丈夫のようだ。

基本的には、テキストも図形も全てゴリゴリ実装するスタイルのようなので、マス目の多い帳票向きでは無いように思える。

PDFKit

Github:https://github.com/pdfkit/pdfkit

最新バージョンはv0.8.2で2015年8月リリース。ライセンスはMIT。

別途、wkhtmltopdfが必要。PHPでのPDF出力のときにも登場した名前だが、wkhtmltopdf自体は独立したアプリケーションなので、そのRuby用のラッパーとして動くのがPDFKitということになる。

gemを使ってプロジェクト配下にインストールして使うが、使っているのはwkhtmltopdfなので、PHPの記事で紹介したように、デザイン済みのHTMLをPDF化するというもののようで、PDFであらかじめフォーマットを作っておくというものではないようだ。

Wicked PDF

Github:https://github.com/mileszs/wicked_pdf

別途、wkhtmltopdfが必要。最新バージョンはv1.1.0で、2016年8月リリース。

これもPDFKitと同様、Ruby用のwkhtmltopdfラッパーということらしい。

ThinReports

公式サイト:http://www.thinreports.org/
Github:https://github.com/thinreports/thinreports.org

これはちょっと他のライブラリとは毛色が違っていて、Chrome機能拡張の「Thinreports Editor」で帳票のひな型を作り、「Thinreports Generator for Ruby」をgemでインストールしてRubyアプリケーションからPDFを出力を行う。また、作者も日本の方のようで、公式サイトは日・英両対応。

また、PHPライブラリを調べていたときは気付かなかったのだが、PHP版もあるようだ。

ライセンスはMITで、「Thinreports Generator for Ruby」の最新バージョンはv0.10.0で2017年5月のリリース。(PHP版はv0.8.1で2016年12月リリース)

エディターの出来次第だとは思うが、込み入った帳票で、かつIllustrator等のPDFファイルを作成できるソフトを持っていない場合は面白い選択肢かもしれない。

 

Python

PythonもRubyと同様、詳しくはない言語だが「PDFで決算書を出力」という要件を満たせそうなライブラリがあるかどうか調べてみる。

Python-wkhtml2pdf

Github:https://github.com/qoda/python-wkhtmltopdf

三度登場「wkhtmltopdf」。他の言語でもラッパークラスが提供されているというパターンだったが、Python用のラッパーも存在する。
GithubをみてもChangeLogがないのでバージョンや最終リリース時期は不明。ただ、一番新しそうなソースで3年前と出ている。ライセンスはBSDライセンス。

Sphinx

PythonでPDF出力、といえばこれが出るくらい有名だそうだが、「Pythonで開発したプロジェクトのドキュメントを生成する」ためのツールのようなので、PDF出力用のライブラリというわけではなさそう。
しかも、PDF出力がメインというわけではなく、多数の形式でドキュメントを生成できるうちの一つがPDFということらしい。

reportlab

BSDライセンスで提供されていて、最新バージョンはv3.4.0で2017年3月公開。Pythonのパッケージ管理ツールのpipコマンドを使ってインストールする。
基本的には、テキストも図形も全てゴリゴリ実装するスタイルのようなので、マス目の多い帳票向きでは無いように思える。

Track Back

Track Back URL

コメントする

※ コメントは認証されるまで公開されません。ご了承くださいませ。

公開されません

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)

このページの上部へ

プロフィール

HN:キリ
京都府南部を拠点にフリーのITエンジニアとして活動しています。

サイト内検索

Powered by Movable Type 6.3.2