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

Rails3で帳票印刷を試す~thinreports

投稿日:

 

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

執筆者:

関連記事

Rails4でdocxを読み書き〜gem docx

By: Jesús Corrius – CC BY 2.0 github.com/chrahunt/docx rubyでもいいんだけど、rubygemでのバージョンが最新でなかったのでRa …

no image

Rails3.2でリアルタイムメッセージングサービスをherokuにデプロイしたよ〜private_pub,Faye

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye さっそくherokuにあげてみた ブラウザを2つ起動して並べてみれば投稿した内容が即時にほかのブラウザに反映するの …

Rails3.2でHTML5で取得した位置情報をMongoDBに保存してGoogleMapsでみる~mongoid、gmaps4rails

前提 Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder 目次1 Mongoid2 スケルトンを作る3 Gmap4railsのインストール4 とりあえず地図を表示 …

no image

CarrierWaveのファイルをpublic以外に移す

  参照 How To: Secure Upload 現状でCarrierWaveのファイルがpublicという公開フォルダに置かれるのが気になったので調べてみた 違ってるかもしれないので自 …

今度こそRails3.2からdocxを生成する

  前提 Rubyからdocxを生成する 前回、イキオイアマって自分でdocxを生成する簡単なライブラリを作ってしまった.(なんて車輪の再発明 今回はこれをRailsから利用してみる. 目次 …