SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Infragistics NetAdvantageチュートリアル(AD)

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

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

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

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出力を検討してみてはいかがでしょうか。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Infragistics NetAdvantageチュートリアル連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2476 2008/07/14 19:35

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング