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で帳票印刷
-, , ,

執筆者:

関連記事

no image

Ubuntu server12.04でRails4とPostgreSQL9.3をつかう〜hstoreとか

目次1 準備2 rails new3 config/database.yml4 hstoreとarrayを試してみる 準備 Ubuntu server12.04にPostgreSQL9.3をインストー …

Rails3.2でajaxなフォルダツリーを導入する2~dynatree-rails

  目次1 jQuery ajax送信側2 app/views/folders/show.js.coffee3  で、コントローラーを設定4 今までのは置いといてJsonでやり取りするアプロ …

Rails4でOpenDocumentText(.odt)を作成~serenity

Rails4でOpenDocumentText(.odt)を作成~serenity(未完) Rails3.2でOpenDocumentText(.odt)を作成~serenity theooさんのフォ …

Rails3.2のproduction環境で動画再生~flowplayer+carrierwave+nginx+unicorn

  By: Creative Tools – CC BY 2.0 目次1 前提2 unicornの設定3 nginxのインストール4 nginxの設定5 アセット関係6  ストリ …

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

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