Jump to content
We've recently updated our Privacy Statement, available here ×

best.hds.team

Members
  • Posts

    3
  • Joined

  • Last visited

best.hds.team's Achievements

Rookie

Rookie (2/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. We are trying to put an image on a report, and export to a pdf. The image starts with https:// We see the image in Design We see the image in Preview When we go to export the pdf from Preview, we get an error: net.sf.jasperreports.engine.JRException: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 1 at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.processImageRetainShape(JRPdfExporter.java:1997) at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.process(JRPdfExporter.java:1787) at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.access$300(JRPdfExporter.java:1713) at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1653) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1267) at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1210) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:1074) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:691) at net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.java:217) at net.sf.jasperreports.engine.JasperRunManager.runToPdf(JasperRunManager.java:460) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:852) When we use an image url that is just http:// we do not get this error. How do include an image with an https:// url in our pdf? Sample report is attached.
  2. We had two fields and put them in a frame. We want to remove the frame. How do you do this? When we pull up the context menu with the right mouse button, there is a Delete, but when we select it, it deletes the frame AND the fields in the frame.
  3. We developed a report with a sub-report. We move the parent .jasper report and the child (sub-report) .jasper report into our Spring Boot Project resource folder. When we run our application locally, our report appears perfectly. When we deploy the project to the cloud, when we run the report we get an error: net.sf.jasperreports.engine.JRException: Resource not found at: H2_Quote_Print_Groups.jasper. at net.sf.jasperreports.repo.RepositoryUtil.getResourceFromLocation(RepositoryUtil.java:158) at net.sf.jasperreports.repo.RepositoryUtil.getReport(RepositoryUtil.java:117) at net.sf.jasperreports.engine.fill.JRFillSubreport.loadReport(JRFillSubreport.java:477) H2_Quote_Print_Groups.jasper is our sub-report. So it found the parent report, but cannot find the child. How do we get the parent report to recognize the sub-report in the deployed .jar file in the cloud? We saw some other posts talk about $P{SUBREPORT_DIR}, but we aren't sure how to obtain that sub-report location in a deployed application. Our Kotlin code: fun callJasperReports(reportDataObject: Any, reportName: String, jasperParameters: HashMap<String?, Any?>, response: HttpServletResponse){ val servletOutputStream = response.outputStream val bytes: ByteArray? try { val rawJsonData = objectMapper.writeValueAsString(reportDataObject) val jsonDataStream = ByteArrayInputStream(rawJsonData.toByteArray()) val jsonDataSource = JsonDataSource(jsonDataStream) val parentReport = ClassPathResource("jasper_reports/$reportName.jasper").inputStream bytes = JasperRunManager.runReportToPdf( parentReport, jasperParameters, jsonDataSource ) response.contentType = "application/pdf" response.setContentLength(bytes!!.size) servletOutputStream.write(bytes, 0, bytes.size) servletOutputStream.flush() servletOutputStream.close() } catch (e: JRException) { // display stack trace in the browser val stringWriter = StringWriter() val printWriter = PrintWriter(stringWriter) e.printStackTrace(printWriter) response.contentType = "text/plain" response.outputStream.print(stringWriter.toString()) }}[/code]
×
×
  • Create New...