Habilitar y deshabilitar la impresión del lado cliente para Reporting Services
El botón de impresión de la barra de herramientas del Visor de informes usa el formato Portable Document Format (PDF) en las impresiones del lado cliente de los informes de Reporting Services visualizados en un explorador. En la nueva experiencia de impresión remota se usa la extensión de representación de PDF incluida en Reporting Servicespara representar el informe en formato PDF. También puede descargar el informe en formato PDF. O bien, si tiene instalada una aplicación para ver archivos PDF, el botón imprimir muestra un cuadro de diálogo de impresión para los elementos de configuración comunes de la página. Estos incluyen elementos de configuración, como el tamaño de página, una orientación y una vista previa del archivo PDF. Aunque la impresión del lado cliente está habilitada de manera predeterminada, puede deshabilitar esta característica para impedir que sea utilizada.
En las versiones anteriores de Reporting Services se usaba un control ActiveX que requería la descarga en el equipo cliente desde el servidor de informes. Si actualiza el servidor de informes a SQL Server 2016 o una versión posterior, el control de impresión no se quita de los equipos cliente ni del servidor de informes.
La experiencia de impresión
Cuando se selecciona el botón de impresión de la barra de herramientas del Visor de informes, la experiencia varía en función de qué aplicaciones de visualización de .PDF haya instaladas en el equipo cliente y de qué explorador se use. Dependiendo del equipo cliente, puede descargar el archivo PDF o configurar las opciones de impresión en un cuadro de diálogo (o ambos).
Interacción | Interfaz de usuario |
---|---|
El primer cuadro de diálogo es el mismo para todos los exploradores y permite cambiar las propiedades de diseño básicas, como la orientación. Al seleccionar Imprimir, la experiencia será ligeramente diferente dependiendo del explorador que se use. | |
En Chrome, se abre una pantalla de impresión de explorador detallada. Puede cambiar la configuración de impresión, imprimir y abrir el cuadro de diálogo de impresión del sistema operativo. | |
Si tiene instalada una aplicación de lector de PDF, el botón de impresión abrirá una ventana de vista previa del archivo PDF, que puede guardar o imprimir. | |
Si no tiene instalada una aplicación de lector de PDF, hay dos experiencias de usuario posibles: El informe se representará automáticamente y se usará el proceso de descarga del explorador para descargar el archivo PDF. Nota: cuanto más complejo sea el informe, mayor será el tiempo que transcurra desde que seleccione Imprimir hasta que vea la notificación de descarga del explorador. También puede forzar la descarga de nuevo seleccionando Haga clic aquí para ver el PDF del informe. Fuerce la descarga del PDF seleccionando Haga clic aquí para ver el PDF del informe. |
Solucionar problemas de impresión del lado cliente
Si el botón de impresión de la barra de herramientas del Visor de informes está deshabilitado, compruebe lo siguiente:
La impresión del lado cliente está deshabilitada en el servidor de informes en Management Studio. Vea la sección Habilitar y deshabilitar la impresión del lado cliente de este artículo.
La extensión de representación de PDF SQL Server 2016 (13.x) Reporting Services o versiones posteriores (SSRS) está deshabilitada. Busque la sección
<Extension Name="PDF"
del archivorsreportserver.config
.Estás viendo el informe en modo de comparación, en el que se usa el antiguo motor de representación HTML4 de SQL Server 2016 (13.x) Reporting Services o versiones posteriores (SSRS). La experiencia de impresión de PDF requiere el motor de representación HTML5. Seleccione Probar la versión preliminar de la barra de herramientas.
Habilitar y deshabilitar la impresión del lado cliente
Los administradores de servidores de informes tienen la opción de deshabilitar la función de impresión remota; solo tienen que establecer la propiedad del sistema del servidor de informes EnableClientPrinting
en false. De este modo se deshabilitará la impresión del lado cliente para todos los informes administrados por ese servidor. De manera predeterminada, EnableClientPrinting
se establece en True. Puede deshabilitar la impresión del lado cliente de las siguientes maneras:
Para un servidor de informes en modo nativo:
Inicie Management Studio con privilegios de administrador.
Conéctese a una instancia del servidor de informes en Management Studio.
Haga clic con el botón derecho en el nodo de servidor de informes y, después, seleccione Propiedades. Si la opción Propiedades está deshabilitada, compruebe que inició Management Studio con privilegios de administrador.
Seleccione Advanced (Avanzadas).
Seleccione EnableClientPrinting.
Elija entre True o False y seleccione Aceptar.
Para un servidor de informes en modo de SharePoint:
En Administración central de SharePoint, selecciona Administración de aplicaciones.
Seleccione Administrar aplicaciones de servicio.
Elija el nombre de la aplicación de servicio de Reporting Services y, a continuación, seleccione Administrar en la cinta de opciones de SharePoint.
Seleccione Configuración del sistema.
Seleccione Habilitar la impresión de cliente. La opción Habilitar la impresión de cliente está cerca de la parte inferior de la página.
Seleccione Aceptar.
Escriba código o script para establecer la propiedad del sistema
EnableClientPrinting
del servidor de informes en False.
El siguiente script de ejemplo ilustra un enfoque válido para deshabilitar la impresión de lado cliente. Compile y ejecute el siguiente código de Microsoft Visual Basic para establecer la propiedad EnableClientPrinting en False. Después de ejecutar el código, reinicie IIS.
Script de ejemplo
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
¿Tiene alguna pregunta más? Puede plantear sus dudas en el foro de Reporting Services.