次の方法で共有


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

Microsoft ActiveX コントロールである RSClientPrint を使用すると、ブラウザーで表示されたレポートをクライアント側で印刷することができます。このコントロールによって表示されるカスタム印刷ダイアログ ボックスでは、印刷プレビュー、特定のページや範囲を指定するためのページ選択、ページ余白、ページの向きなど、一般的な印刷ダイアログ ボックスの機能がサポートされています。クライアント側印刷機能は既定で有効になっていますが、無効にして使用できないようにすることもできます。

ActiveX コントロールをダウンロードするには、管理者権限が必要です。

ダウンロードの動作を決定するブラウザーの設定

印刷機能を使用する各ユーザーは、クライアント側印刷機能を提供する ActiveX コントロールをダウンロードしてインストールする必要があります。ブラウザーの設定によって、コントロールをインストールするかどうかを確認するメッセージが表示される場合と、コントロールをインストールできない場合と、ユーザーへの通知を行わずにコントロールがバックグラウンドでインストールされる場合があります。

Microsoft Internet Explorer では、ActiveX コントロールのダウンロードとインストールに影響を与える設定を、Web コンテンツ ゾーンの [セキュリティの設定] ページの [ActiveX コントロールとプラグイン] ノードで指定できます。印刷コントロールをダウンロードして実行できるかどうかは、Web ゾーンの以下のセキュリティ設定によって決まります。

  • 署名済み ActiveX コントロールのダウンロード。

  • スクリプトを実行しても安全とマークされている ActiveX コントロールのスクリプトの実行。

  • ActiveX コントロールとプラグインの実行。

RSClientPrint によるクライアント側印刷機能を使用するには、[署名済み ActiveX コントロールのダウンロード][スクリプトを実行しても安全だとマークされている ActiveX コントロールのスクリプトの実行] (インストールに必要)、および [ActiveX コントロールとプラグインの実行] (実行中の印刷操作に必要) を有効にする必要があります。RSClientPrint ActiveX コントロールは署名済みです (つまり、Microsoft の有効なデジタル証明書が含まれています)。

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

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

  • Management Studio の [サーバーのプロパティ] ページで [ActiveX クライアントの印刷コントロールのダウンロードを有効にする] を選択します。[サーバーのプロパティ] ページを開くには、Management Studio でレポート サーバー インスタンスに接続し、レポート サーバー ノードを右クリックして、[プロパティ] をクリックします。

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

次のサンプル スクリプトは、クライアント側印刷機能を無効にする方法の一例を示しています。この 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