2009-01-09 91 views
27

Tengo un informe RDLC y yo estoy mostrando que en el control de visor de informes en mi aplicación front-end. Puedo ver el informe perfectamente.¿Cómo limitar el informe de RDLC para una página en un PDF?

Pero el problema surge cuando intento exportar el informe a un archivo PDF (utilizando la opción incorporada).

puedo imprimir el informe de 3 páginas mientras que mi cliente quiere que sea en una sola página. No puedo entender el motivo, ya que en mi visor de informes veo solo una página, pero en un PDF hay 3 páginas.

Se puede hacer algo al respecto para que pueda controlar el tamaño del informe?

Respuesta

2

En el caso de cualquier otra persona se encuentra con este problema y termina aquí, es más probable un problema con sus márgenes. Si los márgenes están configurados incorrectamente, a menudo obtendrá páginas "adicionales" que aparecerán cuando intente imprimir, mientras que cuando vea el documento, todo estará bien.

69

la respuesta es bastante similar a lo que dijo Dugan, pero no es siempre sólo los márgenes. Es bastante simple sin embargo:

Al editar el archivo rdlc en modo de diseño, en primer lugar, haga clic en una parte vacía de la zona del cuerpo de su diseño. Presione F4 para ver la pestaña de propiedades. Aquí, verá una propiedad de "Tamaño". Esto se puede ampliar para el ancho y la altura. El ancho que ve aquí representa el ancho que requiere el cuerpo de su informe como área imprimible. Incluso si tiene espacio en blanco en todas partes, la página sabe que necesita mantenerlo como un área imprimible. Se reserva el espacio, en cierto sentido. En cuanto a la altura, el sistema generalmente sabe que puede crecer o reducirse según sea necesario, a menos que haya especificado lo contrario dentro de sus controles. Entonces, el ancho es lo que, generalmente, jugará el papel más importante.

A continuación, haga clic en un área vacía del informe (fuera de la cabecera, cuerpo y pie de página; básicamente el área gris alrededor del diseño), luego pulsa F4 para ver el panel de propiedades. En la categoría "Diseño" de las propiedades, verá 3 opciones diferentes: InteractiveSize, márgenes, PageSize. Cada uno de esos atributos de Tamaño se puede expandir para mostrar el Ancho y la Altura. El atributo Márgenes se puede expandir para la izquierda/derecha/arriba/abajo.

Básicamente, la exportación pdf funciona fuera de la PageSize (aunque por lo general trato de mantener el tamaño Interactive y Página iguales). Cuando el archivo PDF se representa a través de la función de exportación incorporada del ReportViewer, la anchura y la altura de cada "página" dentro del pdf será determinada por la anchura y altura en el atributo PageSize del informe (se puede reemplazar este si utilizó su propio código personalizado para el renderizado de pdf). En cuanto a los márgenes, especifican la cantidad de espacio debe quedar en blanco y no imprimible entre el área de impresión reservado para su informe y el borde de la página.

En otras palabras: El ancho del cuerpo de su informe, más el margen izquierdo del informe, más el margen derecho del informe, DEBE ser menor o igual que el ancho del tamaño del informe.

Entonces ... si sus márgenes son demasiado anchos, o si el cuerpo de su informe es demasiado ancho, o si el ancho del PageSize es demasiado estrecho, ¡el resultado se ve obligado a desglosarse en varias páginas para que encaje!

Por ejemplo: si el cuerpo de mi informe tiene un ancho de 7.75 ", mi margen izquierdo es 0.5", mi margen derecho es 0.5 "y el ancho especificado en el Tamaño de página es 8.5", mi informe siempre usará 2 páginas para cada 1 página de datos. El ancho de 7.75 "del cuerpo, más 0.5" +0.5 "para los márgenes suma hasta 8.75", que es más grande que el 8.5 "disponible en mi página. Entonces los primeros 7.5 "(más o menos) de cada página del cuerpo de mi informe se mostrará en la primera página, y el resto se dividirá en la siguiente página. Esto no se hará dentro del visor del informe, ya que permite el informe a crezca más allá del tamaño de página simplemente agregando una barra de desplazamiento, pero se notará molestamente en la exportación de PDF. Para hacer que mi informe de ejemplo encaje en 1 página, puedo intentar y reducir el cuerpo de mi informe a 7.5 "o menos, o puedo reducir los márgenes izquierdo y derecho en un total de 0.25 "o más (por ejemplo, configúrelos en 0.3" para una reducción total de 0.4 "), o puedo aumentar el tamaño de página a algo más grande que 8.75". Nota: Acrobat Reader es bastante inteligente y conoce varios tamaños de papel. Por lo tanto, aunque los tamaños de página arbitrarios funcionarán, generalmente es mejor usar tamaños de página reales. Por lo tanto, en mi último ejemplo prefiero configurar el Tamaño de página para que tenga Ancho = 11 "y Altura = 8.5", ¡que es un tamaño de letra real en el paisaje! Adobe generalmente entenderá esto e imprimirá correctamente. También Nota: Algunas impresoras, especialmente las más antiguas, tienen problemas para imprimir con márgenes de menos de 0.3 ". Si desea ser amable con sus usuarios, debería mantener los márgenes lo suficientemente grandes para esas impresoras antiguas;)

I espero que esta ayuda

+2

Gran explicación. Solución cristalina. – JPReddy

+0

Palabras mágicas París, muchas gracias, ¡me salvó horas! –

+0

Utilicé esta respuesta para ayudarme a arreglar mis informes teniendo el mismo problema, pero también tomo en cuenta que si tiene un pie de página o un encabezado esos no entran en los márgenes ... entonces si su modo de paisaje es 11x 8.5 y 1 en márgenes alrededor, realmente tiene 9 x 6.5 para trabajar. Si su pie de página es de .5 en altura, ahora trabaja con 9 x 6. Si su encabezado es de .5 en altura, ahora trabaja con 9 x 5.5. ¡Mantenlo en mente! –

6

siempre mantienen un ancho de cuerpo:. 7,5 o menos

izquierda, Margen derecho anchura inferior a 0,5 Establecer el ancho del margen primera -> Ir a menú de informes-> Informe Properties-> Formato-> principal cambio margen izquierdo y margen derecho

Ancho total de la página: 8.5

Ramana

+0

vs por defecto debería tener estas cosas setuo –

2

En voluminoso para ver sus anchuras, he encontrado otras cosas no relacionadas que pueden causar página en blanco adicional en el PDF.

Si el tablix tiene un campo con ajuste de palabra, esto puede causarlo. Es posible que desee reducir la fuente si tiene datos largos. Haga que la propiedad de tamaño de fuente sea similar a algo como esto:

=iif(len(Fields!RepGroupName.Value) > 25, "6pt","8pt") 

Otra cosa que puede que tenga que hacer. Y esto me ayudó cuando no tenía ninguna razón aparente para la página adicional. En la página de propiedades de informe, establezca: ConsumeContainerWhitespace = true

Otra cosa a tener en cuenta. El tamaño del cuerpo puede crecer sin que lo sepas al hacer cambios en el diseño. Es posible que deba volver a derribarlo.

Este problema es muy molesto para el usuario final si no se resuelve y es molesto para nosotros resolverlo.

Cuestiones relacionadas