Features

Introduction

Thinreports は、Ruby はもちろん Ruby on Rails のような Ruby 製のフレームワークで利用可能な帳票機能と、 それを実現する上で必要なさまざまなツールを提供するオープンソースソフトウェアです。

Tools

Thinreports は、GUI上で帳票レイアウトを作成・編集できる 専用レイアウトエディタ Thinreports Editor と Ruby プログラムからレイアウトを操作する 専用ライブラリ Thinreports Generator を提供します。

Thinreports Editor

Thinreports Editor

Thinreports Editor は Thinreports で扱う帳票レイアウトを編集する専用の GUI ツールです。 Thinreports Editor を使うことで、業務システムで求められるような複雑なレイアウトも、マウスやキーボード操作によって直感的に作成・編集できます。

Thinreports Generator for Ruby

Thinreports Generator for Ruby

Thinreports Generator は Thinreports Editor で作成したレイアウトを読み込み PDF データを生成する RubyGems です。 動的データの埋め込みやスタイルの操作などを Ruby コードで実装することができます。

Why use Thinreports?

Webアプリケーションにおける帳票開発は、多くの課題を抱えています。
Thinreports は、その中でも特に Ruby における帳票開発の課題を解決するために開発されました。

Ruby on Rails 等によるWebアプリケーションの帳票開発を考えた場合、以下のような問題が挙げられます。
そして Thinreports は、これらの問題を解決するソリューションです。

No solution
そもそも Ruby で利用でき、かつ業務システムへの適用にも耐えうる帳票ソリューションは非常に少ない状況です。 さらに Pure Ruby で考えると皆無と言わざるを得ません。これは、帳票を必要とするシーンへの Ruby 適用を妨げる一因になっています。 Thinreports は帳票出力形式のデファクトスタンダードとも言える PDF 出力に対応し、より一層 Ruby による帳票開発適用を促進します。
Not simple
Pure Ruby にこだわらなければ、Ruby で利用可能なソリューションはいくつかあります。 しかし、開発プロセスの中で利用するツールや技術は最小限であるべきです。そしてそれは、さまざまなアドバンテージを享受してくれることは言うまでもありません。
Not free
ここでいう「自由 - free -」とは「プログラマがプログラムを通して、自由に、そしてダイナミックに帳票レイアウトに対する変更を加えられること」を指しています。 帳票ソリューションの中には CSV や XML, JSON などで帳票データを作成し、それをスタティックなプログラムに渡し帳票生成を行うものがあります。 しかしこれは、データを渡した時点でダイナミックなプログラムのスコープを抜けてしまうことになり「ダイナミック」に相当する処理は、帳票レイアウト上で記述する他ありません。
当然、上記のような仕組みの方が優れているシーンも多くありますが、Thinreports Generator では、あくまでもダイナミックなプログラムによる ダイナミックな帳票生成インターフェースを提供します。そして、上記のような仕組みが必要な場合は、それを行うインターフェースをプログラマが自由に作るべきと考えています。
2016.12.04 Thinreports for PHP v0.8.1 released