Включение и отключение печати на стороне клиента для служб Reporting Services
Элемент управления Microsoft ActiveX RSClientPrint обеспечивает возможность печати клиентами отчетов, просматриваемых в браузере. Данный элемент управления отображает пользовательское диалоговое окно печати, которое поддерживает функции, общие с другими диалоговыми окнами печати. Среди этих функций — предварительный просмотр, выбор страниц для указания отдельных страниц и диапазонов, поля и ориентация страниц. Хотя по умолчанию клиентская печать допускается, эту функцию можно отключить.
Примечание |
---|
Для загрузки элементов управления ActiveX требуется разрешение администратора. |
Загрузка элементов управления ActiveX
Каждый пользователь, который хочет использовать функцию печати, должен загрузить и установить элемент управления ActiveX, который обеспечивает функцию клиентской печати. Когда пользователь в первый раз щелкает значок Принтер на панели инструментов отчетов, на компьютер загружается элемент управления Microsoft ActiveX. После того как элемент управления будет загружен, диалоговое окно Печать будет отображаться всякий раз при нажатии значка Принтер.
В зависимости от настройки браузера, пользователю может быть указана необходимость установки элемента управления, либо установка элемента управления может быть ему запрещена, либо элемент управления может быть установлен в фоновом режиме.
Для обозревателя Microsoft Internet Explorer параметры настройки, влияющие на загрузку элементов управления и модулей ActiveX, отображены в узле Элементы управления и подключаемые модули ActiveX на странице Настройки безопасности для зоны Интернета. Следующие настройки определяют, может ли пользователь загружать и запускать элементы управления печатью, исходя из настроек безопасности зоны Интернета:
Загрузка подписанных элементов управления ActiveX.
Включение в скрипты элементов управления ActiveX, отмеченных как безопасные.
Запуск элементов управления и дополнений ActiveX.
Пользователи, желающие использовать RSClientPrint для клиентской печати, должны включить следующие элементы:
Загрузить подписанные элементы управления ActiveX и скрипты элементов ActiveX, помеченные как безопасные, для установки.
Запустить элементы ActiveX и модули подключения для текущих операций печати.
Элемент управления ActiveX RSClientPrint является подписанным, т. е. он содержит действительный цифровой сертификат, выданный корпорацией Microsoft.
Разрешение и запрет печати на стороне клиента
Администраторы сервера отчетов обладают возможностью отключения функции печати с помощью установки системного свойства сервера отчетов EnableClientPrinting со значением false. Это отключает клиентскую печать всех отчетов, управляемых этим сервером. По умолчаниюEnableClientPrinting установлено как true. Вы можете запретить печать на стороне клиента следующими способами.
Для сервера отчетов в собственном режиме
Запустите Среда Management Studio с правами администратора.
Подключитесь к экземпляру сервера отчетов в среде Среда Management Studio.
Щелкните правой кнопкой мыши узел сервера отчетов и выберите пункт Свойства. Если параметр Свойства недоступен, то убедитесь, что среда Среда Management Studio запущена с правами администратора.
Выберите Разрешить загрузку элемента управления ActiveX для клиента печати.
Нажмите кнопку ОК.
Для сервера отчетов в режиме интеграции с SharePoint:
В центре администрирования SharePoint перейдите на страницу Управление приложением.
Выберите Управление приложениями службы.
Щелкните рядом с именем приложения службы Службы Reporting Services, затем нажмите кнопку Управление на ленте SharePoint.
Нажмите кнопку Системные параметры.
Выберите Включение печати на стороне клиента. Параметр Включение печати на стороне клиента расположен в нижней части страницы.
Нажмите кнопку ОК.
Напишите скрипт или код, который устанавливает для системного свойства 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