SHOEISHA iD

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

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

5分でわかるActiveReports帳票

5分でわかるActiveReports帳票(2013年度版)-Webアプリケーションとエクスポート

ActiveReports for .NET 7.0Jで作るサンプル帳票(8)

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

Flashビューワによる直接印刷

 これまで説明したようにWebViewerコントロールを使用することで、ブラウザ上にさまざまな形式でレポートを表示することが容易に実現できます。

 しかしながら、実際のWebアプリケーションでは、「プレビューを表示せず、クライアント側のプリンタに印刷させたい」場合もあります。こうした要件は、FlashViewerを使用することで実現可能です。

 具体的には、WebViewerコントロールのFlashViewerOptions.PrintOptions.StartPrintプロパティをTrueに設定するだけです。このように設定したWebViewerコントロール(FlashViewer形式)にレポートが読み込まれると、自動的に印刷設定ダイアログが表示されるようになります。

 以下のように、WebViewerコントロールのプロパティを設定します。

  1. ViewerTypeプロパティをFlashViewerに設定する。
  2. FlashViewerOptionsプロパティを展開する。
  3. PrintOptionsを展開する。
  4. StartPrintプロパティをTrueに設定する。
  5. WebViewerコントロールのサイズを幅0×高さ0とし、実質的に見えなくなるようにする(なお、WebViewerコントロールのVisibleプロパティをFalseに設定した場合、WebViewerコントロール自体が動作しないため、印刷も行われません)。
FlashViewerのStartPrintプロパティ
FlashViewerのStartPrintプロパティ

 上記のように設定したWebViewerコントロールにレポートを設定すると、WebViewerコントロールへのレポートの読み込みが完了するのと同時に印刷設定ダイアログが表示され、印刷できるようになります。

WebViewerコントロールを使用した
Webアプリケーションの運用環境への配置

 Webアプリケーションを運用環境に配置する場合、一般的に仮想ディレクトリの作成などの作業が必要ですが、WebViewerコントロールを使用している場合、IISに対して固有の設定を行う必要があります。

 具体的な設定内容・手順については、製品ヘルプの[ActiveReportsを使用するための準備]-[Webアプリケーションの実行前に必要な設定]を参照してください。

 また、もしWebViewerコントロールにレポートが表示されないといった問題が生じる場合は、こちらのナレッジ文書も確認してください。

Webアプリケーションでは実現できないこと

 これまで紹介したように、FlashViewerを使用することで、プレビューすることなく印刷を実行できます。しかしながら、以下のような動作はWebViewerコントロールでは実現できません。

  • 印刷設定ダイアログを表示させることなく、クライアント側のプリンタに印刷する。
  • クライアント側のプリンタに印刷する時の印刷先プリンタや印刷部数、用紙サイズなどをあらかじめ設定する。

 FlashViewerはAdobe Flash Player上で動作するビューワですが、こうした動作を実現できないのは、Flash Playerのセキュリティ上の制約によって、このような処理をコードから制御することが禁止されているためです。

 もし、こうした動作が可能な場合、ページを開くと同時に大量のページをプリンタに強制的に印刷するような悪意を持ったページを構成することが可能となってしまいます。

 印刷設定ダイアログを表示せずに印刷したい場合や、印刷部数をあらかじめ設定する必要がある場合には、Webアプリケーションではなく、印刷用のWindowsフォームアプリケーションを別途作成する方法をご検討ください。

 このときはClickOnce機能を使用することで、Windowsフォームアプリケーションの配布とWebアプリケーションからの呼び出しを実現できます。こちらのナレッジ文書でサンプルが公開されていますので、参照してください。

次のページ
レポートのエクスポート

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

  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

グレープシティ株式会社 ActiveReportsチーム(グレープシティカブシキガイシャ アクティブレポートチーム)

 宮城県仙台市に本社を構えるグレープシティでは、日本の業務に適したシステムをより早く開発するためのソフトウェアを提供しています。エンドユーザーの利用しやすさ、幅広いユーザー環境への対応、そして何よりプログラマの作業を軽減することを一番に目指しています。 ActiveReportsは、帳票開発に必要なあらゆる機能を備えた当社を代表するコンポーネントの1つ。1998年の発売以来、日本だけでなく全世界で多数の帳票開発者に使用されています。製品開発は同チームが中心になり、「日本仕様」の厳しい要望を実現することを目指しています。...

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7612 2015/07/23 16:16

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング