Infragistics Document Export Engine DOMによるXPS出力
さて、前段でPDF作成方法について紹介しました。続いて、XPSの作成についても見ていきましょう。XPS(XML Paper Specification)は、ひとことで言ってしまえば、Microsoft版のPDFといったものです。まだあまり多くの環境で利用されているとはいいづらいものの、Microsoft Office 2007をインストールした環境や、Windows Vistaでは、特に追加でアプリケーションをインストールすることなく利用できます。
今後、PDFを超えるデファクトスタンダードへと成長していくのかどうかは分かりませんが、アプリケーションとしてXPSを出力するという要望は増えていくのではないでしょうか。XPSに対応したコンポーネントはまだほとんど見かけませんので、他者に一歩先んじるという意味でもなかなか興味深いと思います。
XPSを出力するに当たって、それ専用のコンポーネントがあるものと思っていました。――が、実はそんなことはなく、単にレポートをPublish()
するときの引数でフォーマットを指定するだけなのでした。ということで、先ほどのサンプルプログラムをXPS対応版に変更するには、次のようにプログラムコードを修正するだけです。
report.Publish("sample.pdf", FileFormat.PDF); Process.Start("sample.pdf");
report.Publish("sample.xps", FileFormat.XPS); Process.Start("sample.xps");
report.Publish("sample.pdf", FileFormat.PDF) Process.Start("sample.pdf")
(修正後) report.Publish("sample.xps", FileFormat.XPS) Process.Start("sample.xps")
PDF出力用のコンポーネントは、PDFの構造をオブジェクトモデルで表現するものが多いのですが、Document Export Engineは高度に抽象化されているため、PDFでもXPSでも利用できるというわけです。出力したXPSは、(図4)のようになります。出力したファイルがPDFかXPSかの違いはあるものの、同じ内容が出力されていることが分かります。
おわりに
今回は、インフラジスティックス社のコンポーネントの中から、Infragistics Document Export Engineの使い方について見てきました。入力した情報を加工して処理する、これこそ情報処理なわけですが、「レポートの出力」というのは、ある意味でその最後に位置する重要な処理となります。
特に日本のビジネスシーンでは、「帳票」が特に重要視されるため、多くの開発者の頭を悩ましてきました。Document Export Engineは、直接的に「帳票を出力する機能」を持つものではありませんが、PDFやXPSといった形で出力することができます。出力したPDFをそのまま印刷する、といったことも可能なので、まさに、帳票の代わりとして利用することもできるでしょう。
また、今回は紹介できませんでしたが、UltraWinGridと組み合わせて、グリッドの内容をそのまま、あるいは、ヘッダなどの表示方法を加工して出力することも可能です。このようなレポート出力機能は、見た目上派手なものではありませんが、アプリケーションに欠かすことができません。レポートや帳票の出力でお困りの開発者の皆さん、Document Export EngineによるPDF/XPS出力を検討してみてはいかがでしょうか。