View
3.625
Download
10
Category
Preview:
DESCRIPTION
第4回フクオカRuby大賞で「大賞」を受賞しました。その授賞式で発表した資料です。
Citation preview
Open Source Reporting Solution
株式会社マツケイ日高 克也Katsuya Hidaka
Twitter: @hidakatsuyagithub: hidakatsuyaEmail: hidakatsuya@gmail.com
RubyによるRubyのための帳票ソリューション
提供
株式会社マツケイ(島根県)
しまねけん?
なぜRubyの帳票ツール?
✗ 日本語未対応...
✗ GUIデザイナがない
✗ さすがに高い
✗ さすがに遅い
✗ 使いにくい...
満足できるものが無くて困っていた
なら、作ればいい✓ Pure Ruby!✓オープンソース✓業務システムでも使える
特徴
ThinReports Editor
๏ 専用デザイナ๏ マルチプラットフォーム対応๏ GNU GPLv3๏ 多くのOSS、標準技術で実現
Webkit/Qt/HTML5/CSS3/SVG/JavaScript/Closure Tools etc..
ThinReports Editor
ThinReports Generator
๏ Editorで作成したレイアウトから帳票を生成するライブラリ (PDF)
๏ Pure Ruby๏ マルチプラットフォーム対応๏ The MIT License
ThinReports Generator
こうやって使います。
1. 帳票レイアウトを作る
# coding: utf-8require 'thinreports' report = ThinReports::Report.new :layout => 'question.tlf'
report.start_new_page do item(:answer).value('Ruby!!!')end
report.generate_file('question.pdf')
2. スクリプトを書いて実行
% ruby question.rb⏎
3. PDFのできあがり
できること
一覧表の自動生成
詳細行が領域を溢れた場合は、自動的に改頁される。現時点では「ヘッダー/フッター/ページフッター/詳細行」を持つ一覧表を作成できる。
外字の表示
Windowsの外字エディタで作成した外字ファイル(EUDC.TTE)をThinReportsに指定することで、外字データを含むPDFを正しく表示することが可能。
グラフやバーコードの表示
イメージブロック機能(動的画像の埋込み機能)とグラフやバーコード画像を生成するライブラリを組み合わせることで、柔軟に対応できる。
パスワード/操作制限
仕様書の自動生成
Editor から HTML/CSV 形式で仕様書を生成することが可能。これによって「デザインとコードの分離」をサポート。
Railsでも# Gemfilegem 'thinreports'
# app/controller/test_controller.rbclass TestController < ApplicationController def render_reports report = ThinReports::Report.new :layout => '/path/to/layout.tlf' report.start_new_page do # do something end
send_data report.generate, :filename => 'foo.pdf', :type => 'application/pdf', :disposition => 'attachment' endend
その他๏ 画像の埋め込み(静的・動的)๏ 動的なスタイル操作
など
できないことイマイチなこと
フォントは4種類のみ๏ Helvetica (Sans-serif)๏ Courier New (Monospace)๏ Times New Roman (Serif)๏ IPAフォント (明朝/ゴシック)
一覧表の機能がまだまだ๏ 小計行を簡単には実現できない現在は、詳細行/ページフッター/フッターのみ
๏ 高さが可変な行は実現できないかなり難しいかもしれない...
๏ Editor 上の操作性がイマイチ
今後
0.7.5リリース๏ 2012.2 2012.4予定๏ Editorの国際化๏カスタムフォント機能๏操作性の改善
thinreports-rails๏ 2012.2 2012.3予定๏Rails3用拡張ライブラリ๏Rails3で、より簡単にThinReportsを使える
ご案内
www.thinreports.org
ThinReports に興味のある方は、まずはこちらへ
github
ThinReports の全てのソースコードは、github で公開
osc.matsukei.net
ロードマップやタスク、進捗状況の閲覧に加えて、ドキュメントやフォーラムも
tw: @thinreports_orgfb: ThinReports.org
お知らせ
有償サポート始めました๏メールによるQAが基本๏メニューはありません๏公式サイトよりお問い合せ下さい
ありがとうございました
Recommended