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

Rubyからdocxを生成する

    前提 Rubyでdocxをいろいろ分析してみた 変数の仕様~正規表現 いろいろなパターンで試してみた 例えば、こんな文 [crayon-5b297e7643a2d56716 …

Railsでチェックボックスで複数選択するとき〜check_box_tag

By: Luca Masters – CC BY 2.0 目次1 問題2 アンサー3 情報 問題 チェックボックスで複数選択可のフォームでうまくparamsにはいらない 例1 [crayo …

RailsでECサイトを構築3 日本にあわせる~spree

  前提 RailsでECサイト構築~spree RailsでECサイト構築2 注文してみる~spree 目次1 テンプレートをダウンロード2 テンプレートを改造する3 デフォルトの国を変更 …

no image

Rails3でTwitter Bootstrapのサーチフォームを実装する~form_tag

目次1 git & gitolite2 仕組みを考える3 フィーチャの作成4 Viewの作成5 Controllerの作成6 Modelの作成7 テストが通らない!8 mergeして終わり g …

Rails4でerbぽいテンプレートからdocxを作成〜docx_templater

By: Kanko* – CC BY 2.0 目次1 docx_templater2 準備3 インストール4 サンプル作成5 できた6 node.jsでdocxを生成するライブラリがリリー …