الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

الحل النهائي لمشكلة ظهور تقارير جاسبر على السرفر فقط

Featured Replies

بتاريخ:

الاخوة الاعزاء

السلام عليكم ورحمة الله وبركاته ...

البعض يواجه مشكلة ظهور تقارير الجاسبر على السرفر فقط عند تشغيلها من خلال 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;
    }
 
بتاريخ:

شكراً ... جزاك الله خيراً 

بتاريخ:

شكرا لك على الفائدة ، لو اخترت منسق الكود عند وضع المشاركة لكان أحسن

بتاريخ:
  • كاتب الموضوع

كنت عامل تنسيق Left to Right  عن طريق Ctrl+Shift

لكن عندما عملت اعتماد للمشاركة ظهرت بهذا الشكل، ويبدو انه لايوجد امكانية لتعديل المشاركات في المنتدى :(

لكن اعتقد انه لو اخذ Copy/Paste سيظهر بطريقة صحيحة 

بتاريخ:


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);
}
بتاريخ:
  • كاتب الموضوع

شكرا لك ..

بتاريخ:

يمكن تجاوز عملية الـ compile في runtime بعمل compile في development وبالتالي يتم توفير خطوة في التنفيذ

  • بعد 2 سنة...
بتاريخ:

السلام عليكم ... حقيقة واجهتني نفس المشكلة ... بس الكود م اشتغل معاي ... وبظهر لي هذه الرسالة انه م شايف الجاسبر ..

 

java.io.FileNotFoundException: EmpLab.jrxml (The system cannot find the file specified)

بتاريخ:

تأكد من مسار الملف

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.