Actualización de JasperReports 1.3.1 a JasperReports 4.6

estoy actualizando mi JasperInformes versión como se menciona en el título. no se mucho sobre el JasperInformes actualización de versión Que todas las cosas que tengo que cambiar para que funcione. tengo lo último .jar archivos de todo. Pero cuando imprimo mi . PDF informe que me da este error.

error:could not open file because its damaged or not supported.

En eclipse muestra esta excepción.

java.lang.NoSuchFieldError: PRINTSCALING at 
net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExpor‌​ter.java:532) at 
net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java‌​:396) at 
net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.‌​java:212) at 
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportMa‌​nager.java:536) at 
com.sibisoft.northstar.util.JasperReportGenerator.getPdfByteArray(JasperReportGe‌​nerator.java:679)

Por favor, ayúdame.

preguntado el 12 de junio de 12 a las 09:06

Si es posible, agregue algunas capturas de pantalla/enlaces. -

java.lang.NoSuchFieldError: PRINTSCALING en net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:532) en net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:396) en net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.java:212) en net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:536) en com.sibisoft.northstar.util.JasperReportGenerator.getPdfByteArray( JasperReportGenerator.java:679) -

Supongo que es porque no hay un método como PrintScaling en v4.6. Será mejor que consulte la documentación. -

Tengo eso, pero donde estoy usando este método. me puedes decir eso. -

¡Necesito mirar su código/jrxml.! no puedo decírtelo directamente. :) -

1 Respuestas

El problema no es con JasperReports sino con la versión de la biblioteca iText que está utilizando. Debe descargar la versión 2.1.7 para trabajar con esa versión de JasperReports. Puedes obtenerlo de aquí.


Sabía este de memoria, ya que lo encontré en el pasado, pero como una nota útil en el futuro, este es el proceso que usé para resolverlo originalmente.

Dado que JasperReports es de código abierto, el código se puede encontrar en línea fácilmente. Así que busqué en Google:

sitio:grepcode.com net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream

Para encontrar el código en línea. (Básicamente, GrepCode proporciona un sitio genial para revisar el código fuente de muchos proyectos de código abierto).

En la parte superior de la página de GrepCode tienen la versión del proyecto, así que asegúrese de que esté apuntando a la versión que esté usando.

Luego busque el método o el número de línea en el mensaje de error.

Desde aquí es como depurar el código local. Puede ver cuál es la clase infractora y a qué paquete pertenece. En este caso, apunta a la biblioteca itext como culpable.

Espero que te ayude en el futuro, y feliz informe.

Respondido el 20 de junio de 20 a las 10:06

Gracias por su ayuda. Estoy intentando esto ahora mismo. te dejaré, tendré éxito. gracias de verdad por tu ayuda - farjad babar

gracias hombre, he probado tu forma de depurar el problema. De hecho, importé el archivo fuente jar. Me ayudó mucho. ya que puedo saber la razón exacta por la que estaba dando este error. - farjad babar

sí tengo este trabajo. el problema fue exactamente el que mencionaste. Ya estaba usando tu versión mencionada de itext. mi problema particular eran varios archivos jar. Actualicé un archivo jar, pero otros archivos jar eran de una versión anterior. eso estaba creando un problema. Creo que cuando trabaja con archivos jar, también debe usar el archivo jar fuente que lo ayudará mucho. fue mi primera vez. no sabia esto Tengo la idea de tu publicación. Muchas gracias de nuevo - farjad babar

hola, soy nuevo en el informe jasper y estoy enfrentando el mismo problema, ¿puede decirme cómo incluir el archivo jar sugerido? - Raúl muchacho

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.