サポート&サービス

Home > サポート&サービス > テクニカルサポート > ナレッジベース

テクニカルサポート

製品に関する技術的なサービスを提供しています。製品別の技術情報(ナレッジベース)および、対応環境情報をご覧いただけます。また、E-mailによるテクニカルサポートのお申し込みもこちらで受け付けています。

ComponentOne サブスクリプション製品をご購入された方

サブスクリプションにて、ComponentOne製品(ComponentOne Studio、Wijmo、Xuni)をご購入された方は、下記のComponentOne Studioサイトからユーザー登録をお願いいたします。

ComponentOne サブスクリプション製品のユーザー登録を行う

ナレッジベース

Webアプリケーションでプレビュー表示せずにレポートを印刷する方法は?【※サンプル有り】
文書番号 : 37766     文書種別 : HowTo
登録日 : 2015/03/19     最終更新日 : 2017/11/02
文書を印刷する
対象製品
ActiveReports for .NET 9.0J
詳細
Webアプリケーションでプレビュー表示せずにレポートを印刷する場合、印刷したいプリンタの場所によって実装方法が異なります。
  1. クライアント側のプリンタに印刷する場合
  2. サーバ側のプリンタに印刷する場合


クライアント側のプリンタに印刷する場合

ActiveReports for .NET を使用した Webアプリケーションで、クライアント側のプリンタに直接印刷する場合、いくつかの方法が考えられます。

  1. Flashビューワを使用する方法
    Flashビューワを使用する場合、WebViewerコントロールをWebForm上に配置し、そのViewerTypeプロパティを"FlashViewer"に設定してください。なお、Flashビューワを使用した直接印刷には、StartPrintプロパティを使用する方法と、クライアントスクリプトを使用する方法があります。

    Flashビューワを使用する場合、印刷設定ダイアログを表示させずに直接プリンタに印刷することはできません。
    WebViewerコントロールはProfessional限定の機能です。Standardではご利用いただけません。

    1. StartPrintプロパティを使用する方法
      WebForm上に小さなサイズ(例:1×1)に設定したWebViewerコントロールを配置し、FlashビューワのStartPrintプロパティを"True"に設定します。このように設定することで、サイズが1×1のFlashビューワがブラウザにロードされ、ロードが完了した時点で、印刷設定ダイアログが表示されますので、結果的にプレビュー表示なしの印刷が実現できます。

      詳細については、製品ヘルプの以下の内容をご参照ください。

      ActiveReportsユーザーガイド
       - クイックスタート
        - レポートを表示する
         - Webで表示する
          - WebViewerコントロールの使用
           - Flashビューワの使用
       - 基本操作
        - WebViewerでプレビュー無し直接印刷の設定(Professional)
       - サンプルとチュートリアル
        - サンプル
         - Professionalのサンプル
          - Professional Web サンプル

    2. クライアントスクリプトを使用する方法
      WebForm上に小さなサイズ(例:1×1)に設定したWebViewerコントロールを配置し、Flashビューワのクライアントスクリプトを使用して印刷を開始します。具体的には、OnLoadProgressイベントでレポートの読み込みが完了した状態("Completed")を取得し、Printメソッドで印刷を開始することにより印刷設定ダイアログが表示され、結果的にプレビュー表示なしの印刷が実現できます。

      ◆サンプルコード(Javascript)
      viewer.setEventsHandler({
        OnLoadProgress: function(e) {
          if (e.State == "Completed") {
            // 印刷オプションを定義します。
            var ops = viewer.CreatePrintOptions();
            ops.AdjustPaperOrientation = "Auto"; // (用紙方向の調整)
            ops.ScalePages = "Auto";       // (用紙サイズの調整)
            ops.ClearPageRanges();        // (印刷範囲の初期化)
            ops.AddPageRange(1, e.PageCount); // (印刷範囲の設定)

            // 印刷を実行します。
            viewer.Print(ops);
          }
        }
      })

      詳細については、製品ヘルプの以下の内容をご参照ください。

      ActiveReportsユーザーガイド
       - サンプルとチュートリアル
        - サンプル
         - Professionalのサンプル
          - Professional Web サンプル
        - チュートリアル
         - 共通のチュートリアル(ページレポート、RDLレポートとセクションレポート)
          - Professional
           - Flashビューワのカスタマイズ

  2. PDFを使用する方法
    PDFを使用する場合、WebViewerコントロールをWebForm上に配置し、そのViewerTypeプロパティを"AcrobatReader"に設定し、OnlyForPrintプロパティをTrueに設定します。このように設定することで、生成されたレポートはビューワ上に表示されることなく、印刷設定ダイアログが表示されます。詳細については、製品ヘルプの以下の内容をご参照ください。

    ActiveReportsユーザーガイド
     - 基本操作
      - WebViewerでプレビュー無し直接印刷の設定(Professional)


    PDFを使用する場合、印刷設定ダイアログを表示させずに直接プリンタに印刷することはできません。
    WebViewerコントロールはProfessional限定の機能です。Standardではご利用いただけません。
    OnlyForPrintプロパティをTrueに設定した場合、ブラウザ上(Adobe Reader上)にPDFは表示されません。

  3. HTML5ビューワを使用する方法
    HTML5ビューワは描画領域となるDIV要素を指定することでプレビューを行いますが、DIV要素を指定しなくてもスクリプトでViewerを定義するだけでレポート生成処理は実行されます。これを利用し、レポートの読込完了時(documentLoaded)にprintメソッドを呼び出すことでプレビュー表示なしの印刷を実現できます。

    ◆サンプルコード(Javascript)
    var viewer;
    $(function () {
      viewer = GrapeCity.ActiveReports.Viewer(
      {
        // HTML5ビューワを表示する領域(div要素のid属性)を設定します
        // 直接印刷時は不要です
        //element: '#viewer',

        // 表示するレポートを指定します
        report: {
          id: 'reports/PageReport1.rdlx'
        },
        // レポートサービスのURLを設定します
        reportService: {
          url: '/ActiveReports.ReportService.asmx'
        },
        // 読込完了時に印刷を開始します
        documentLoaded: function reportLoaded() {
          viewer.print();
        },
      });
    });

    詳細については、製品ヘルプの以下の内容をご参照ください。

    ActiveReportsユーザーガイド
     - クイックスタート
      - レポートを表示する
       - Webで表示する
        - HTML5ビューワの使用


    HTML5ビューワはProfessional限定の機能です。Standardではご利用いただけません。
    HTML5ビューワの印刷はレポートをPDFに出力して印刷するものであるため、PDFを使用する方法と同等の制限事項が適用されます。

  4. ClickOnce で印刷機能を提供する方法
    .NET Framework が提供するClickOnce機能を使用することでWebサーバー上に配置されたWindowsフォームアプリケーションを容易にクライアントに配置することが可能です。

    ClickOnce の配置

    直接印刷用のWindowsフォームアプリケーションを予め作成し、クライアントからの要求に応じて、当該アプリケーションをClickOnceアプリケーションとしてクライアント側にインストール/実行することで直接印刷を実現することが可能です。

    詳細につきましては、こちらのサンプルをご覧ください。

    【サンプル動作の概念図】
    サンプル動作の概念図
    拡大表示


サーバ側のプリンタに印刷する場合

サーバ上のWebアプリケーションから、PrinterNameプロパティで出力先のプリンタ名を指定し、Printメソッドを使用してレポートを直接印刷します。
(この方法は、規模の小さなイントラネットなど、使用環境が限られます。)

クライアントからの要求で、サーバ側から印刷を行う場合に必要となる設定につきましては、マイクロソフト社のWebサイトで公開されている下記の情報をご参照ください。

[サーバーからの Web ベースのレポートの印刷]

[IIS]ASP によるサーバ側での印刷方法について

また、製品ヘルプの以下のトピックもあわせてご覧ください。

ActiveReportsユーザーガイド
 - よくある質問
  - セクションレポート
   - Web
    - 「サーバー側で印刷を行う」
関連情報
キーワード
HowTo 印刷・プレビュー Web サンプル有り

この情報は、疑問・問題解決のお役に立ちましたか?

    


こちらに入力されたご質問には回答できませんので、製品に関するお問い合わせは、別途「E-mailサポート」をご利用ください。


※ 個人情報保護のため、個人情報の記入はご遠慮ください。

このページの先頭へ