Reporting Services のクライアント側印刷機能の有効化と無効化

レポート ビューアーのツールバーにある印刷ボタンをクリックすると、ブラウザーに表示される Reporting Services レポートのクライアント側印刷機能で Portable Document Format (PDF) 形式が使用されます。 新しいリモート印刷の動作では、 Reporting Servicesに含まれている PDF 表示拡張機能を使用して、レポートを PDF 形式で表示します。 レポートの PDF 形式をダウンロードすることができます。 または、PDF ファイルを表示するためのアプリケーションがインストールされている場合は、印刷ボタンにページ共通構成項目の印刷ダイアログが表示されます。 これには、ページ サイズ、向き、PDF ファイルのプレビューなどの構成項目が含まれます。 クライアント側印刷機能は既定で有効になっていますが、無効にして使用できないようにすることもできます。

以前のバージョンの Reporting Services で使用されていた ActiveX コントロールは、レポート サーバーからクライアント コンピューターにダウンロードする必要がありました。 レポート サーバーを SQL Server 2016 以降にアップグレードしても、この印刷コントロールはレポート サーバーまたはクライアント コンピューターから削除されません。

印刷時の動作

レポート ビューアーのツールバーで印刷 ボタンを選択したときの動作は、クライアント コンピューターにインストールされている PDF 閲覧アプリケーションの種類と、使用しているブラウザーの種類によって異なります。 クライアント コンピューターの環境に応じて、PDF ファイルのダウンロード、ダイアログ ボックスでの印刷オプションの設定、またはその両方を行うことができます。

Screenshot of the Report toolbar.

相互作用 ユーザー インターフェイス
最初のダイアログ ボックスは、すべてのブラウザーで同じであり、印刷の向きなどの基本的なレイアウト プロパティを変更できます。 [印刷] を選択したときの動作は、使用しているブラウザーによって多少異なります。 Screenshot of the first print properties screen.
Chrome では、詳細なブラウザーの印刷画面が開きます。 印刷設定を変更したり、印刷を実行したり、オペレーティング システムの印刷ダイアログ ボックスを開いたりすることができます。 Screenshot of the detailed print properties.Screenshot of the print configuration settings.
PDF リーダー アプリケーションがインストール済みの場合、印刷ボタンをクリックすると PDF ファイルのプレビュー ウィンドウが表示され、保存または印刷することができます。
PDF リーダー アプリケーションがインストールされていない場合は、次の 2 種類の動作になります。

レポートが自動的に表示され、使用しているブラウザーのダウンロード プロセスを使用して PDF ファイルがダウンロードされます。 注: 複雑なレポートになるほど、 [印刷] を選択してからブラウザーのダウンロード通知が表示されるまでの時間が長くなります。 [レポートの PDF を表示するには、ここをクリックしてください。] を選択して、PDF ファイルを再度ダウンロードすることもできます。

[レポートの PDF を表示するには、ここをクリックしてください。] を選択して、PDF ファイルをダウンロードします。
Screenshot of the PDF ready notification.

クライアント側印刷機能のトラブルシューティング

レポート ビューアーのツールバーで印刷ボタンが無効になっている場合は、次のステートメントを確認します。

  • Management Studioのレポート サーバーでクライアント側印刷機能が無効になっています。 この記事の「クライアント側印刷機能を有効または無効にする」セクションを参照してください。

  • SQL Server 2016 (13.x) Reporting Services 以降 (SSRS) では、PDF 表示拡張機能が無効になっています。 <Extension Name="PDF" ファイルの rsreportserver.config セクションを確認します。

  • レポートを互換モードで表示しています。この場合、古い SQL Server 2016 (13.x) Reporting Services 以降 (SSRS) HTML4 レンダリング エンジンが使用されます。 PDF の印刷には、HTML 5 レンダリング エンジンが必要です。 ツールバーの [プレビューを試す] を選択してください。

Screenshot of the Try Preview button.

クライアント側印刷機能を有効または無効にする

レポート サーバー管理者は、レポート サーバーのシステム プロパティ EnableClientPrintingFalseに設定して、リモート印刷機能を無効にすることができます。 この設定により、サーバーが管理しているすべてのレポートでクライアント側印刷機能が無効になります。 既定では、EnableClientPrintingTrue に設定されます。 クライアント側印刷機能は、次の方法で無効にすることができます。

  • ネイティブ モードのレポート サーバーの場合:

    1. 管理者特権を使用して Management Studio を開始します。

    2. Management Studioでレポート サーバー インスタンスに接続します。

    3. レポート サーバー ノードを右クリックしてから、 [プロパティ] をクリックします。 [プロパティ] オプションが無効になっている場合は、管理者特権を使用して Management Studio を開始したことを確認してください。

    4. [Advanced] \(詳細設定) を選択します。

    5. [EnableClientPrinting] を選択します。

    6. True または False に設定して、[OK] をクリックします。

      Screenshot of the EnableClientPrinting option.

  • SharePoint モードのレポート サーバーの場合:

    1. SharePoint の全体管理で [アプリケーション管理]を選択します。

    2. [サービス アプリケーションの管理] を選択します。

    3. Reporting Services サービス アプリケーションの名前を選んで、SharePoint リボンで [管理] を選択します。

    4. システム設定を選択します。

    5. [クライアントの印刷を有効にする] を選択します。 [クライアントの印刷を有効にする] オプションは、ページの下部付近にあります。

    6. [OK] を選択します。

  • レポート サーバー システム プロパティの EnableClientPrintingFalse に設定するスクリプトまたはコードを記述します。

次のサンプル スクリプトは、クライアント側印刷機能を無効にする方法の一例を示しています。 この Microsoft Visual Basic コードをコンパイルして実行すると、EnableClientPrinting プロパティが False に設定されます。 コードの実行後、IIS を再起動してください。

サンプル スクリプト

Imports System  
Imports System.Web.Services.Protocols  
Class Sample  
   Public Shared Sub Main()  
Dim rs As New ReportingService()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
    End Sub 'Main  
End Class 'Sample  

その他の質問 Reporting Services のフォーラムに質問してみてください