« 「死」を知ることは、「生きる」を知ること | トップページ | prawn-svg + Inkscape = エラーで文字が表示出来ない »

2010/05/05

Ruby + PrawnとInkscapeで帳票ができそうです

昨日まで出勤だったので、GW最終日にして、やっとお家でのんびりと過ごせる休日になりました。
明日から仕事ですけど...

さて、先日のオープンソースサロンにて伝票作成システムについてお話をしましたが、その後の調査でPrawnというPDF作成ライブラリ向けにSVGファイルを読み込むクラスがあるようだということがわかりました。

mogest / prawn-svg

ということで、早速ダウンロードして、試してみました。

まず、インストール手順ですが、gemを使って簡単にインストールできました。

$ sudo gem install prawn-svg

ちなみに、prawn-svgにはprawn 0.8.4以上が必要ですので、インストールされておられない方はそちらもインストールされます。

次に、読み込むSVGファイルですが、このブログでも何度か紹介しているInkscapeを使用して作成します。

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のあるツールがあれば良いなと言っていましたが、どうやらこの課題は早々に解決してしまいそうですね。

本当の意味でのソースコードを修正したりできない僕でも、こうした各種ソフトウェアの組み合わせで、様々なソリューションを見つけられるのもオープンソースソフトウェアの醍醐味の一つかななんて思います。

どうですか、倉橋さん?
使いたくなりました?

|

« 「死」を知ることは、「生きる」を知ること | トップページ | prawn-svg + Inkscape = エラーで文字が表示出来ない »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/79953/48279562

この記事へのトラックバック一覧です: Ruby + PrawnとInkscapeで帳票ができそうです:

« 「死」を知ることは、「生きる」を知ること | トップページ | prawn-svg + Inkscape = エラーで文字が表示出来ない »