はじめに
Webアプリにおいて帳票印刷は鬼門の1つです。ブラウザにも印刷機能があり、綺麗に印刷するための工夫も組み込まれていますが、Windowsアプリと同じような品質の帳票印刷を行えるレベルにまでは達していません。また、オンライン掲示板などで時々見かける「印刷イメージ画面の表示なしに、Webから印刷ボタンをクリックするだけで、直接プリンタに印刷したい」というような要望も簡単には解決できません。
このようにとかく相性の悪い、Webアプリと帳票印刷という2つの要素の架け橋となる.NETコンポーネントがActiveReportsです。
ブラウザから印刷を行うための基本的な仕組み
ブラウザごとの自作アドオン作成は手間がかかる
ブラウザの標準機能では満足した結果を得られないときに活用するのが、アドオン(プラグインとも言う)です。アドオンの作り方はブラウザごとに異なるため、同じアドオンでもInternet Explorer用とFirefox用とでは、それぞれ別に用意しなければなりません。その手間がどれくらい大変かは、容易に想像がつくと思います。
そうした手間を省く解決策として、印刷関連であればPDFファイルを利用するシステム構成、つまりAdobe Readerのアドオン利用を前提にすることを、考えてみるのがよいでしょう。Adobe ReaderのアドオンであればOSもWindowsに限定されておらず、主要なブラウザに対応しているため、いろいろなPC環境で使えるというWebアプリの特色も失われません。
PDFファイルをブラウザで表示させる流れ
PDFファイルをブラウザで表示するためには、Webサーバとブラウザの両方で認識を合わせて協調する必要があります。
そのための識別が図2にある「Context-Type: application/pdf」です。このヘッダをブラウザが受け取ると、PDF表示用のアドオンを探してデータを渡し、後はアドオンがPDFファイルを表示するのでブラウザの機能に左右されません。
ActiveReports for .NETを使えば、WindowsアプリでPDFファイルを出力するだけではなく、Adobe Readerアドオンと組み合わせ、WebアプリでPDFファイルをブラウザに表示することもできます。それでは具体的にその方法を確認していきましょう。