fukuoka ruby award 2012
DESCRIPTION
第4回フクオカRuby大賞で「大賞」を受賞しました。その授賞式で発表した資料です。TRANSCRIPT
![Page 1: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/1.jpg)
Open Source Reporting Solution
株式会社マツケイ日高 克也Katsuya Hidaka
Twitter: @hidakatsuyagithub: hidakatsuyaEmail: [email protected]
![Page 2: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/2.jpg)
RubyによるRubyのための帳票ソリューション
![Page 3: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/3.jpg)
提供
株式会社マツケイ(島根県)
![Page 4: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/4.jpg)
しまねけん?
![Page 5: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/5.jpg)
なぜRubyの帳票ツール?
![Page 6: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/6.jpg)
✗ 日本語未対応...
✗ GUIデザイナがない
✗ さすがに高い
✗ さすがに遅い
✗ 使いにくい...
満足できるものが無くて困っていた
![Page 7: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/7.jpg)
なら、作ればいい✓ Pure Ruby!✓オープンソース✓業務システムでも使える
![Page 8: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/8.jpg)
特徴
![Page 9: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/9.jpg)
ThinReports Editor
![Page 10: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/10.jpg)
๏ 専用デザイナ๏ マルチプラットフォーム対応๏ GNU GPLv3๏ 多くのOSS、標準技術で実現
Webkit/Qt/HTML5/CSS3/SVG/JavaScript/Closure Tools etc..
ThinReports Editor
![Page 11: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/11.jpg)
ThinReports Generator
![Page 12: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/12.jpg)
๏ Editorで作成したレイアウトから帳票を生成するライブラリ (PDF)
๏ Pure Ruby๏ マルチプラットフォーム対応๏ The MIT License
ThinReports Generator
![Page 13: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/13.jpg)
こうやって使います。
![Page 14: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/14.jpg)
1. 帳票レイアウトを作る
![Page 15: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/15.jpg)
# 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⏎
![Page 16: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/16.jpg)
3. PDFのできあがり
![Page 17: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/17.jpg)
できること
![Page 18: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/18.jpg)
一覧表の自動生成
詳細行が領域を溢れた場合は、自動的に改頁される。現時点では「ヘッダー/フッター/ページフッター/詳細行」を持つ一覧表を作成できる。
![Page 19: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/19.jpg)
外字の表示
Windowsの外字エディタで作成した外字ファイル(EUDC.TTE)をThinReportsに指定することで、外字データを含むPDFを正しく表示することが可能。
![Page 20: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/20.jpg)
グラフやバーコードの表示
イメージブロック機能(動的画像の埋込み機能)とグラフやバーコード画像を生成するライブラリを組み合わせることで、柔軟に対応できる。
![Page 21: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/21.jpg)
パスワード/操作制限
![Page 22: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/22.jpg)
仕様書の自動生成
Editor から HTML/CSV 形式で仕様書を生成することが可能。これによって「デザインとコードの分離」をサポート。
![Page 23: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/23.jpg)
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
![Page 24: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/24.jpg)
その他๏ 画像の埋め込み(静的・動的)๏ 動的なスタイル操作
など
![Page 25: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/25.jpg)
できないことイマイチなこと
![Page 26: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/26.jpg)
フォントは4種類のみ๏ Helvetica (Sans-serif)๏ Courier New (Monospace)๏ Times New Roman (Serif)๏ IPAフォント (明朝/ゴシック)
![Page 27: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/27.jpg)
一覧表の機能がまだまだ๏ 小計行を簡単には実現できない現在は、詳細行/ページフッター/フッターのみ
๏ 高さが可変な行は実現できないかなり難しいかもしれない...
๏ Editor 上の操作性がイマイチ
![Page 28: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/28.jpg)
今後
![Page 29: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/29.jpg)
0.7.5リリース๏ 2012.2 2012.4予定๏ Editorの国際化๏カスタムフォント機能๏操作性の改善
![Page 30: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/30.jpg)
thinreports-rails๏ 2012.2 2012.3予定๏Rails3用拡張ライブラリ๏Rails3で、より簡単にThinReportsを使える
![Page 31: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/31.jpg)
ご案内
![Page 32: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/32.jpg)
www.thinreports.org
ThinReports に興味のある方は、まずはこちらへ
![Page 33: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/33.jpg)
github
ThinReports の全てのソースコードは、github で公開
![Page 34: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/34.jpg)
osc.matsukei.net
ロードマップやタスク、進捗状況の閲覧に加えて、ドキュメントやフォーラムも
![Page 35: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/35.jpg)
tw: @thinreports_orgfb: ThinReports.org
![Page 36: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/36.jpg)
お知らせ
![Page 37: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/37.jpg)
有償サポート始めました๏メールによるQAが基本๏メニューはありません๏公式サイトよりお問い合せ下さい
![Page 38: Fukuoka Ruby Award 2012](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5565f85ed8b42a2a4d8b482f/html5/thumbnails/38.jpg)
ありがとうございました