بتاريخ: 20 مارس 201510 سنة comment_260776 الاخوة الاعزاء السلام عليكم ورحمة الله وبركاته ... البعض يواجه مشكلة ظهور تقارير الجاسبر على السرفر فقط عند تشغيلها من خلال ADF، وهذه المشكلة موجودة حتى على بعض المنتديات الاجنبية، لذلك ارفق هنا الكود النهائي لاظهار التقارير على جهاز العميل ومن خلال الاكسبلورر فقط بدون الاحتياج حتى لبرنامج اكروبات ريدر، الكود تم تجميعه من عدة مصادر منها فيديوهات المهندس المحترم احمد سعيد ومدونة سامح نصار وبعض المواقع الاجنبيه ... وأي استفسارات أنا موجود، وشكرا لكم public String generatePdfReport(String RepName, Map m) throws Exception { Connection conn = null; try { HttpServletResponse response = getResponse(); ServletOutputStream out = response.getOutputStream(); response.setHeader("Cache-Control", "max-age=0"); response.setContentType("application/pdf"); InputStream fs = new FileInputStream(new File(RepName)); conn = getConnection(); JasperDesign jasperDesign = JRXmlLoader.load(fs); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JasperPrint jasperPrint; jasperPrint = JasperFillManager.fillReport(jasperReport, m, conn); ByteArrayOutputStream baos = new ByteArrayOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, baos); out.write(baos.toByteArray()); out.flush(); out.close(); FacesContext.getCurrentInstance().responseComplete(); } catch (Exception jex) { jex.printStackTrace(); } finally { close(conn); } return null; } تقديم بلاغ
بتاريخ: 20 مارس 201510 سنة comment_260786 شكرا لك على الفائدة ، لو اخترت منسق الكود عند وضع المشاركة لكان أحسن تقديم بلاغ
بتاريخ: 20 مارس 201510 سنة كاتب الموضوع comment_260794 كنت عامل تنسيق Left to Right عن طريق Ctrl+Shift لكن عندما عملت اعتماد للمشاركة ظهرت بهذا الشكل، ويبدو انه لايوجد امكانية لتعديل المشاركات في المنتدى لكن اعتقد انه لو اخذ Copy/Paste سيظهر بطريقة صحيحة تقديم بلاغ
بتاريخ: 20 مارس 201510 سنة comment_260803 public String generatePdfReport(String RepName, Map m) throws Exception { Connection conn = null; try { HttpServletResponse response = getResponse(); ServletOutputStream out = response.getOutputStream(); response.setHeader("Cache-Control", "max-age=0"); response.setContentType("application/pdf"); InputStream fs = new FileInputStream(new File(RepName)); conn = getConnection(); JasperDesign jasperDesign = JRXmlLoader.load(fs); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JasperPrint jasperPrint; jasperPrint = JasperFillManager.fillReport(jasperReport, m, conn); ByteArrayOutputStream baos = new ByteArrayOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, baos); out.write(baos.toByteArray()); out.flush(); out.close(); FacesContext.getCurrentInstance().responseComplete(); } catch (Exception jex) { jex.printStackTrace(); } finally { close(conn); } تقديم بلاغ
بتاريخ: 28 مارس 201510 سنة comment_261086 يمكن تجاوز عملية الـ compile في runtime بعمل compile في development وبالتالي يتم توفير خطوة في التنفيذ تقديم بلاغ
بتاريخ: 26 يونيو 20178 سنة comment_287754 السلام عليكم ... حقيقة واجهتني نفس المشكلة ... بس الكود م اشتغل معاي ... وبظهر لي هذه الرسالة انه م شايف الجاسبر .. java.io.FileNotFoundException: EmpLab.jrxml (The system cannot find the file specified) تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.