CodeZine(コードジン)

特集ページ一覧

WindowsアプリケーションにXPS/PDF出力機能を追加する

Infragistics NetAdvantageチュートリアル その6 - XPS/PDF出力

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/05/08 17:00
目次

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対応版に変更するには、次のようにプログラムコードを修正するだけです。

リスト3 - XPS出力用に修正(C#版) 【修正前】
report.Publish("sample.pdf", FileFormat.PDF);
Process.Start("sample.pdf");
リスト3 【修正後】
report.Publish("sample.xps", FileFormat.XPS);
Process.Start("sample.xps");
リスト4 - XPS出力用に修正(Visual Basic版)【修正前】
report.Publish("sample.pdf", FileFormat.PDF)
Process.Start("sample.pdf")
リスト4 【修正後】
(修正後)
report.Publish("sample.xps", FileFormat.XPS)
Process.Start("sample.xps")

 PDF出力用のコンポーネントは、PDFの構造をオブジェクトモデルで表現するものが多いのですが、Document Export Engineは高度に抽象化されているため、PDFでもXPSでも利用できるというわけです。出力したXPSは、(図4)のようになります。出力したファイルがPDFかXPSかの違いはあるものの、同じ内容が出力されていることが分かります。

図4 - 出力したXPS
図4 - 出力したXPS

おわりに

 今回は、インフラジスティックス社のコンポーネントの中から、Infragistics Document Export Engineの使い方について見てきました。入力した情報を加工して処理する、これこそ情報処理なわけですが、「レポートの出力」というのは、ある意味でその最後に位置する重要な処理となります。

 特に日本のビジネスシーンでは、「帳票」が特に重要視されるため、多くの開発者の頭を悩ましてきました。Document Export Engineは、直接的に「帳票を出力する機能」を持つものではありませんが、PDFやXPSといった形で出力することができます。出力したPDFをそのまま印刷する、といったことも可能なので、まさに、帳票の代わりとして利用することもできるでしょう。

 また、今回は紹介できませんでしたが、UltraWinGridと組み合わせて、グリッドの内容をそのまま、あるいは、ヘッダなどの表示方法を加工して出力することも可能です。このようなレポート出力機能は、見た目上派手なものではありませんが、アプリケーションに欠かすことができません。レポートや帳票の出力でお困りの開発者の皆さん、Document Export EngineによるPDF/XPS出力を検討してみてはいかがでしょうか。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • こだかかおる(コダカカオル)

    Microsoft Most Valuable Professional Visual Developer - Visual C# .NETによるアプリケーション開発を中心に、IT全般について何でもやるソフトウェアエンジニア。更新をさぼりがちなWebサイトはこちら(http://www.antoin...

バックナンバー

連載:Infragistics NetAdvantageチュートリアル

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5