Ruby + PrawnとInkscapeで帳票ができそうです
昨日まで出勤だったので、GW最終日にして、やっとお家でのんびりと過ごせる休日になりました。
明日から仕事ですけど...
さて、先日のオープンソースサロンにて伝票作成システムについてお話をしましたが、その後の調査でPrawnというPDF作成ライブラリ向けにSVGファイルを読み込むクラスがあるようだということがわかりました。
ということで、早速ダウンロードして、試してみました。
まず、インストール手順ですが、gemを使って簡単にインストールできました。
$ sudo gem install prawn-svg
ちなみに、prawn-svgにはprawn 0.8.4以上が必要ですので、インストールされておられない方はそちらもインストールされます。
次に、読み込むSVGファイルですが、このブログでも何度か紹介しているInkscapeを使用して作成します。
Inkscapeで四角や丸を描画したファイルを作成し、sample.svgという名前で保存します。
続いて、以下のコードをsample.rbという名前のファイルで、sample.svgと同じフォルダに保存します。
##### ここから #####
require 'rubygems'
require 'prawn'
require 'prawn/measurement_extensions'
require 'prawn-svg'
x = 0
y = 0
w = 1000
f = open("sample.svg")
svg_data = f.read
f.close
Prawn::Document.generate("sample.pdf") do
svg svg_data, :at => [0, 200.mm], :width => 100.mm
end
##### ここまで #####
最後に次のコマンドを実行します。
$ ruby sample.rb
すると、同じフォルダにsample.pdfというPDFファイルが作成され、sample.svgの内容が読み込まれたPDFができあがっているはずです。
先日の発表では、伝票のフォーマット作成にはGUIのあるツールがあれば良いなと言っていましたが、どうやらこの課題は早々に解決してしまいそうですね。
本当の意味でのソースコードを修正したりできない僕でも、こうした各種ソフトウェアの組み合わせで、様々なソリューションを見つけられるのもオープンソースソフトウェアの醍醐味の一つかななんて思います。
どうですか、倉橋さん?
使いたくなりました?
| 固定リンク
コメント