Railsで使えるGem RubyOnRailsで帳票印刷

Rails3で帳票印刷を試す~thinreports

投稿日:2012年10月22日 更新日:

Thinreports

thinreportsはPDFを帳票作成するためのgem.
別に無料でダウンロードできるThinreports Editorでひな形を作成して、Rubyでひな形に値を代入してPDFを作成する機能を持つ.

www.thinreports.org/

github.com/thinreports/thinreports-rails3-example

とりあえずサンプルを試してみた

READMEに書かれているとおりに

で、http://サーバのアドレス:3000にアクセス

見慣れた感じの画面が出てくる

ここのPrint Tasksを押すとタスクの一覧のpdfが表示される

タスクの状態を変更すると黒字に変わる

詳細画面を表示するとPrintというリンクがあるのでこれをクリックすると

詳細についてのPDFが作成される

 

ソースを見てみる1~詳細画面

Controller

format.pdfというのが追加されている ここで使っているrender_to_stringというのがthinreportsが定義しているメソッド

dispositionというのはブラウザ内でpdfを表示させるか(inline)、pdfをダウンロードさせるか(attachment)

Views

viewには.pdf.thinreportsと.tlfというファイルがある

tlfファイルは別配布のソフトで制作するレイアウトファイル

thinreportsファイルはレイアウトファイルで指定されているidに代入する値を定義するファイル

thinreportsファイルの中身はこんな感じ

で、レイアウトファイルを別配布のThinreports Editorで開くとこんな感じ

 

 

保存>レイアウト定義をエクスポートすれば簡易仕様書が自動生成されてIDの一覧などが出力される

 

ソースを見てみる2~一覧表

Controller

一覧表の方は違う出力の仕方をやっている

まず、indexの方でprivateメソッドを定義して

あとで見るが、レイアウトではテーブルを作成できて任意の数の行を挿入できる

ここではadd_rowというメソッドでデータの数だけ行を作成してる

ついでに、各リストの状態ごとに色を変えている

これをindexメソッドのformatで呼んでいる

Views

ちなみにこのメソッドで使うレイアウトはapp/reports/に保存していて上記のプライベートメソッドでレイアウトの場所を指定している

-Railsで使えるGem, RubyOnRailsで帳票印刷
-, , ,

執筆者:

関連記事

Rails3.2からMongoDBを使ってアプリをつくってみる~mongoid

MongoDBはとても素直で扱いやすいということがわかってきたので、以前作成した郵便番号・住所の相互検索アプリをまたつくってみた 参照 MongoDBのチュートリアルをこなす KEN_ALL.CSVを …

Rails3でajaxでD&Dでまとめてファイルアップロードをスクラッチで~jQueryFileUpload for Rails

参考 Rails3でajaxでD&Dでまとめてファイルアップロード~jQueryFileUpload for Rails Rails3でajaxでD&Dでまとめてファイルアップロード2 …

Rails3.2とBackbone.jsでGoogle CalendarライクなカレンダーにCRUD(後編)~fullcalendar-rails

目次1  前回2 UPDATE1~バグの訂正3 UPDATE2 ~ ドラッグとリサイズでデータ更新4 DELETE~イベントの削除5 バグがあった → 解決しました!6  herokuにサンプルアップ …

Deviseのユーザーと既存のMongoidモデルを関連づける

前提 Rails3.2でHTML5で取得した位置情報をMongoDBに保存してGoogleMapsでみる~mongoid、gmaps4rails Rails3.2+Mongoidでログイン機能~dev …

ElasticSearchをRubyから使う~elasticsearch-ruby

By: Harry Rose – CC BY 2.0 目次1 gem elasticsearch-ruby2 環境3 インスタンス作成4 メソッド一覧5 情報取得6 ドキュメントの作成7 …