2012-05-27 23 views

Respuesta

6

Antes de mostrarle cómo hacerlo, tenga en cuenta que simplemente cambiar el tamaño de página probablemente no le dará lo que desea. Hará que la página sea más grande o más pequeña dependiendo de lo que quieras, puesto que el posicionamiento de los elementos no cambiará. EN SU CASO, EL INFORME PUEDE INCLUSO COMPILARSE SEGÚN DONDE HAYA ENVIADOS LOS ARTÍCULOS.

Usted tiene un par de opciones sin embargo:

  1. En primer lugar, podría crear un segundo informe para el formato A5, y luego en tiempo de ejecución agarrar el informe adecuado en función de lo que desee. Esta es probablemente la solución más fácil, pero significa que terminará en con casi 2 informes idénticos. Lo que significa cualquier cambio en el futuro que tendría que hacer en dos lugares.
  2. En segundo lugar, si se trata de un informe bastante sencillo con un diseño típico de puede usar algo como Dynamic Jasper para generar su informe en código java.
  3. Por último, podría trabajar directamente en contra de la API de Jasper Report a generar su informe en tiempo de ejecución.


Ahora para responder a su pregunta. En primer lugar cargar el archivo JRXML en un objeto JasperDesign:

//Note JRXMLLoader could also take a File object or 
//InputStream instead of a String as the parameter. 
JasperDesign design = JRXmlLoader.load("report.jrxml"); 

vez que tenga el JasperDesign puede ajustar el tamaño de la página para cualquier cosa que quiera. El papel A5 de lo que puedo decir es 5.83 "× 8.27". Para convertir esto a un tamaño que entienda JasperReports multiplique cada uno por 72, obteniendo 420 x 596 (redondeé ya que tenemos que establecer números enteros).

design.setPageHeight(596); 
design.setPageWidth(420); 

A partir de ahí, continuará en su aventura de exportación como lo haría normalmente.

Cuestiones relacionadas