Movable TypeやWEBアプリケーションから印刷物を印刷したい。12.10.02

Movable TypeやWEBアプリケーションからデータを挿入して印刷物を印刷したいと思ったことはありませんか?

しかし、WEBアプリケーションは印刷を苦手としています。

方法としては、下記考えられます。

1. 印刷したい帳票のデザイン部分を画像で準備してブラウザ上にCSSで背景として表示して印刷

これはCSSで背景として表示する場合、解像度が72dpiとなって印刷結果の解像度が低く美しいものにはなりません。

CSS3ではブラウザ上での背景の表示サイズが変更できるので解像度の高い印刷物を作ることも可能かとは思いますが、CSS3はブラウザの対応状況(IEなど)もまだまだで、画像自体もビットマップなのファイルサイズがそれなりで表示(ダウンロード)に時間がかかるなどの難点があります。

2. HTML&CSSで頑張ってコーディングしたものをPDF印刷

一番費用をかけずに一般的な方法で、印刷結果としては綺麗に出力できますが、制作も大変ですし、メンテナンス性も悪いです。

曲線などの複雑なデザインが必要な場合は向いていません。
(参考:http://gendosu.ddo.jp/redmine/wiki/rails/JasperReports)

3. クライアントソフトをインストールして印刷

これは、クライアント側(ネット閲覧者側)でフリーソフトのインストールを促して、印刷環境を作ってもらい、WEBからのデータを取得、印刷するというものですが、自分のPCにソフトをインストールするというのはサービス提供される側にとって大きなハードルになります。

4. 帳票印刷部分に特化、提供している他社のサービスやサーバーを利用する

印刷結果は綺麗ですし、パフォーマンスも文句なしですが、毎月の利用料(月額費用)がかかってきます。
(参考:http://www.wingarc.com/product/svf/lineup/など)

そこで最近、普及してきているSVG形式の画像ファイルを利用してみます。

SVG形式のファイルとはビットマップではなくベクター形式で、イラストレータなどのバイナリファイルとは異なり、テキストファイルとして読み込めるのが特徴です。

ベクターなので、印刷結果も綺麗でファイルサイズもかなり小さくなります。

このSVG形式のファイルはイラストレーターで制作、書き出すことができますので、管理も楽です。

イラストレーターから書き出したSVGファイルをテキストエディタなどで直接、書式や図形情報を編集することもできます。

詳細は下記サイトを参考ください。
(参考:http://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_how2.htm)

SVGはIEはヴァージョン9から扱えないようなので8以前のものでも対応させたい場合は下記のライブラリを使用して、HTMLからスクリプト変換で表示するといいでしょう。
http://raphaeljs.com/index.html

こちらはPHPのライブラリです。
http://bkp.ee/atirip/convert-svg-into-raphael

IE8以下は対応していないようですが、SVGからスクリプトファイルへの変換が必要ありません。

以上で完成した、SVGファイルの目的の位置にMTやWEBアプリケーションからデータを書き出せばいいのです。

  • 広告
  • 広告

関連記事

PageTop

CATEGORY