دليل استخدام JasperReports: ما هو Jasper Reports؟ Java?
⚡ ملخص ذكي
جاسبر ريبورتس لـ Java هو محرك تقارير مفتوح المصدر يحوّل بيانات التطبيق إلى مستندات عالية الدقة. تشرح هذه المقالة دورة حياة إعداد التقارير، وتثبيت Jaspersoft Studio، وإنشاء قوالب التقارير، وبنية النطاقات، ومقارنة مع Pentaho، والقيود العملية التي تواجهها فرق العمل.
ما هو JasperReports ل Java?
جاسبر ريبورتس هي أداة تقارير مفتوحة المصدر ل Java يُستخدم هذا البرنامج لإعداد تقارير التطبيقات. تساعد أداة إعداد التقارير هذه في كتابة محتوى غني على الشاشة، أو طباعته، أو حفظه في مجموعة متنوعة من الملفات مثل HTML وPDF وXLS وRTF وCSV وXML وODT وTXT. كما يمكن استخدام JasperReports لـ Java-تمكين التطبيقات مثل Java تطبيقات EE أو الويب لإنشاء محتوى ديناميكي.
تظهر ثلاثة أسماء منتجات معًا في معظم المناقشات، وفصلها مبكرًا يمنع حدوث لبس لاحقًا في هذه الصفحة.
| الاسم | ما هو | من يستخدمه؟ |
|---|---|---|
| مكتبة جاسبر ريبورتس | استخدم Java مكتبة تقوم بتجميع التقارير وتعبئتها وتصديرها | Java يقوم المطورون بتضمين التقارير في التطبيق |
| جاسبر سوفت ستوديو | استخدم Eclipse مصمم مرئي قائم على برنامج ينتج ملفات JRXML | مصممو التقارير يقومون بتصميم مخططات المباني |
| خادم JasperReports | خادم مستقل يقوم بتخزين التقارير وجدولتها وإرسالها | فرق العمل التي توزع التقارير على مستخدمي الأعمال |
تركز هذه الصفحة على المكتبة وبرنامج Jaspersoft Studio، فهما المكونان الوحيدان المطلوبان لتصميم وتشغيل أول تقرير. تجدر الإشارة إلى أن إصدار المجتمع يقتصر الآن على هذين المكونين فقط، حيث لم يعد JasperReports Server متاحًا للتنزيل مجانًا.
لماذا نستخدم تقارير جاسبر؟
إليك العديد من الأسباب لاستخدام أداة تقارير جاسبر:
- ويقدم أداء إنشاء التقارير وتسليمها للمستخدمين.
- يساعدك على تمثيل بياناتك بتنسيق نصي أو رسومي.
- إنه خادم تقارير مستقل ومضمن لتجميع التقارير وتنفيذها.
- فهو يسمح بالتحكم في الوصول على أساس الدور إلى كافة التقارير الموجودة في المستودع.
- يتوفر إطار عمل Spring Security للتكامل مع أنظمة المصادقة الداخلية.
- يوفر محرك تقارير تفاعلي آمن ومجدول ويتم تسليمه تلقائيًا.
- يمكنك تضمين التقارير في Java أو غيرJava التطبيقات.
- يمكن تصدير صيغ مختلفة من التقارير.
- يمكنه إنشاء علامات مائية يتم وضعها فوق الصورة الأساسية.
- ويقدم مجموعة كاملة من صابونو REST وخدمات الويب.
- يسمح لك باستخدام بيانات تقرير واحد من مصادر بيانات متعددة.
ولأن المكتبة متاحة بموجب ترخيص LGPL، يمكن تضمينها في المنتجات التجارية دون رسوم لكل مستخدم، وهذا هو السبب الذي يجعل الكثيرين Java تختاره الفرق بدلاً من محركات إعداد التقارير الخاصة بها.
مميزات تقارير جاسبر
الآن، سنتناول ميزات برنامج JasperReports.
فيما يلي أهم ميزات أداة Jasper Reports:
- يوفر تخطيطًا مرنًا للتقارير عبر النطاقات والأعمدة والمناطق الحرة.
- يمكن للمطورين توفير البيانات بطرق متعددة، بما في ذلك Javaمجموعات Beans، واستعلامات SQL، ومستندات XML.
- يمكن دمج مصادر بيانات متعددة داخل تقرير واحد من خلال التقارير الفرعية ومحولات البيانات.
- يمكن أيضاً وضع العلامات المائية فوق الصورة الأساسية.
- يمكنك إنشاء تقارير فرعية متداخلة داخل تخطيط رئيسي.
- يساعدك على تصدير التقارير بتنسيقات متنوعة مثل PDF، HTML، RTF، و Microsoft ملفات Excel.
- يسمح المحرك بتعريفات التقارير لتضمين مخططات مثل المخططات الشريطية والدائرية والخطية والسلاسل الزمنية.
- يمكن كتابة تعابير التقارير في Java, Groovy أو Javaالنصي.
يتم الكشف عن هذه الإمكانيات من خلال تسلسل معالجة ثابت، والذي يصفه القسم التالي مرحلة تلو الأخرى.
دورة حياة جاسبر ريبورتس
سنتعرف الآن على دورة حياة JasperReports.
فيما يلي التدفق العام لدورة حياة برنامج جاسبر ريبورتس:
يوضح الرسم التخطيطي أعلاه المراحل الأربع بالترتيب. تنتج كل مرحلة ملفًا يصبح مدخلًا للمرحلة التالية، ولهذا السبب لا يمكن عكس التسلسل أبدًا.
| المرحلة | إدخال | الناتج | امتداد الملف |
|---|---|---|---|
| تصميم | قرارات التخطيط | قالب التقرير | ملف .jrxml |
| تجميع | ملف .jrxml | قالب ثنائي مُجمَّع | .يشب |
| تنفيذ | ملف .jasper بالإضافة إلى البيانات | تقرير مُعبأ | .jrprint |
| ألاستراد والتصدير | ملف .jrprint | الوثيقة النهائية | ملفات PDF و HTML و XLS وغيرها |
تصميم التقرير
ستكون هذه الخطوة الأولى حيث سنقوم بإنشاء ملف JRXML. وهو عبارة عن مستند XML بسيط يحدد تخطيط التقرير. يمكنك إنشاء هذا الملف باستخدام أي محرر نصوص أو مصمم تقارير.
ومع ذلك، إذا كنت تستخدم مصمم التقارير، فيمكننا تصور تخطيط التقرير، ويمكن تجاهل البنية الحقيقية لملف JRXML.
إعداد التقرير
في هذه المرحلة من دورة الحياة، يتم تجميع JRXML الذي تم إنشاؤه في المرحلة الأولى، ويتم إنشاء كائن ثنائي يسمى ملف Jasper (ملف بامتداد jasper).
يتم هذا التجميع للحصول على أداء أفضل أثناء التنفيذ. يجب أن يتم شحن ملفات Jasper التي تم إنشاؤها مع التطبيق الخاص بك لتشغيل التقارير.
تنفيذ التقرير
في هذه المرحلة، يتم جمع البيانات من التطبيق وتعبئتها في شكل تقرير مجمع. هناك فئة تسمى net.sf.jasperreports.engine.JasperFillManager والتي توفر وظائف لملء البيانات في التقارير.
سيتم تخزين المخرجات في ملف طباعة Jasper (ملف بامتداد jrprint) والذي يمكن استخدامه لطباعة التقرير أو تصديره.
تصدير التقرير إلى التنسيق المطلوب
في هذه المرحلة الأخيرة، تحتاج إلى تصدير ملف الطباعة Jasper الذي تم إنشاؤه مسبقًا إلى أي تنسيق باستخدام الفئة JasperExportManager. نظرًا لأن Jasper يقدم تنسيقات متعددة للصادرات، فيمكننا استخدام نفس المدخلات لإنشاء تمثيلات مختلفة للبيانات.
كيفية تثبيت Jasper Reports - إعداد البيئة
والآن، دعونا نتعرف على خطوات إعداد بيئة JasperReports بالتفصيل. تم التقاط لقطات الشاشة أدناه باستخدام برنامج التثبيت 6.9. الإصدار الحالي المتاح للمجتمع هو 6.21.3، وقد نُشر في 23 أبريل 2024، وتسلسل الشاشات لم يتغير، على الرغم من اختلاف رقم الإصدار في اسم الملف.
الخطوة 1) تنزيل إصدار مجتمع تقارير جاسبر
اذهب إلى هذا الرابط ثم انقر على خيار "التنزيل الآن" لتثبيت إصدار Jasper Reports Community.
الخطوة 2) حدد Jaspersoft Studio CE
من إصدارات المجتمع، اختر Jaspersoft Studio CE.
الخطوة 3) تحميل جاسبر سوفت ستوديو
اذهب إلى هذا الصفحة ثم انقر على زر التنزيل، ثم افتح ملف التثبيت القابل للتنفيذ الذي تم تنزيله لنظام التشغيل الخاص بك.
الخطوة 4) انقر على زر الموافقة
ستظهر الشاشة التالية. انقر على زر "أوافق".
الخطوة 5) اختيار موقع
حدد موقع التثبيت وانقر على زر التالي.
الخطوة 6) التقدم يجري الآن
سترى التقدم على الشاشة التالية.
الخطوة 7) انقر على زر النهاية
في الشاشة التالية، انقر على زر النهاية.
الخطوة 8) اكتمل التقدم
ستظهر الشاشة التالية في نافذتك.
الخطوة 9) إشترك الأن
بعد ذلك، انقر على خيار "البدء".
الخطوة 10) ابدأ العمل مع استوديو Jasper Reports
ستظهر الشاشة التالية ويمكنك البدء في العمل مع برنامج Jasper Reports studio.
💡 نصيحة: جاسبرسوفت ستوديو هو Eclipse تطبيق قائم على البيانات ويحتاج إلى نظام متوافق Java يجب أن يكون وقت التشغيل موجودًا على الجهاز. إذا رفض برنامج التثبيت البدء، فتأكد من إصدار JDK المثبت قبل إعادة التثبيت.
إنشاء مثال لقالب التقرير
والآن دعونا نتعلم كيفية إنشاء قالب تقرير في JasperReports.
ملف قالب التقرير المستخدم في JasperReports هو ملف XML بسيط بامتداد jrxml. يحتوي هذا الملف على وسم jasperReport كعنصر رئيسي. يدعم إطار عمل JasperReports أنواعًا مختلفة من مصادر البيانات.
يتم تصميم وإنشاء نموذج التقرير باستخدام الخطوات التالية.
الخطوة 1) إنشاء ملف JRXML في Jaspersoft Studio.
- انتقل إلى خيار الملف.
- حدد القائمة الفرعية الجديدة.
- انقر على خيار تقرير جاسبر.
الخطوة 2) اختيار القالب المطلوب.
- حدد القالب الخاص بك، على سبيل المثال، الكرز.
- انقر على زر "التالي".
الخطوة 3) اختيار المجلد الأصل.
- حدد مجلد "تقاريري".
- أدخل اسم الملف، على سبيل المثال، "Cherry Report".
- انقر على زر "التالي".
الخطوة 4) في نافذة مصدر البيانات، انقر فوق الزر "جديد" لإنشاء محول بيانات جديد.
الخطوة 5) اختيار محول البيانات.
- حدد محول البيانات من مربع القائمة. على سبيل المثال، "مجموعة من Javaفول."
- انقر على زر "التالي".
الخطوة 6) إدخال تفاصيل محول البيانات وتحديد فئة المصنع.
- أدخل اسمًا للمحول الخاص بك.
- حدد فئة المصنع بالنقر على زر "...".
الخطوة 7) إدخال البادئة أو النمط.
- أدخل بادئة الاسم أو النمط.
- انقر فوق العناصر المطابقة.
- انقر فوق الزر "موافق".
الخطوة 8) تحديد فئة المصنع وإضافة مسار ملفات jar.
- أدخل اسم الطريقة الثابتة في فئة المصنع. في مثال تقارير Jasper هذا، هذا هو createBeanCollection.
- إذا كان لديك Javaيحتوي تعريف Beans على أوصاف للحقول، وإذا كنت ترغب في استخدام هذه الأوصاف كأسماء في Jaspersoft Studio، فحدد خانة اختيار "استخدام وصف الحقل".
- أضف مسارًا إلى ملفات الجرة الخاصة بك.
- انقر على زر "إنهاء".
الخطوة 9) انقر على زر "التالي".
الخطوة 10) تهانينا! لقد أضفت جميع معلومات إنشاء التقرير اللازمة بنجاح. انقر على زر "إنهاء".
سيتم إنشاء التقرير كما هو موضح في الشاشة أدناه.
يتطلب الملف المذكور أعلاه تحويله إلى تنسيق ثنائي JasperReport، والذي يسمى ملف jasper.
تلعب الواجهة net.sf.jasperreports.engine.design.JRCompiler، وهي جزء من مكتبة JasperReports، دورًا مهمًا في تجميع ملف قالب التقرير هذا.
يمكن كتابة تنفيذ هذه الواجهة Java, Javaسيناريو, Groovyأو أي لغة برمجة نصية أخرى.
يمكنك تجميع ملف JRXML باستخدام الطريقتين التاليتين:
- تجميع برمجي من Java رمز.
- تجميع باستخدام أباتشي النملة المهمة.
يوضح المقتطف أدناه المسار البرمجي، حيث يقوم سطر واحد بتجميع القالب، ويقوم سطر ثانٍ بملئه بـ Javaمجموعة حبوب.
import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class ReportRunner { public static void main(String[] args) throws JRException { // 1. Compile the JRXML template into a .jasper file JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml"); // 2. Fill the compiled template with a collection of beans JRBeanCollectionDataSource source = new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection()); JasperPrint print = JasperFillManager.fillReport(report, null, source); // 3. Export the filled report to PDF JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf"); System.out.println("Report exported successfully"); } }
الإخراج:
Report exported successfully
فهم نطاقات التقارير المختلفة
ينقسم تصميم JasperReports إلى أقسام أفقية تُسمى نطاقات. لكل نطاق قاعدة طباعة ثابتة، وفهم هذه القواعد هو ما يسمح للمصمم بالتحكم بدقة في مكان ظهور القيمة في المستند النهائي.
فيما يلي نطاقات التقارير القياسية المعتمدة من قبل معظم أدوات إنشاء التقارير التجارية.
- العنوان
- رأس الصفحة
- رأس العمود
- التفاصيل
- تذييل العمود
- تذييل الصفحة
- تذييل الصفحة الأخيرة
- ملخص
- رأس المجموعة
- تذييل المجموعة
- نبذة عامة
- لا توجد بيانات
دعونا نتعرف على كل نطاق من نطاقات الإبلاغ بالتفصيل.
العنوان
يظهر هذا الشريط في بداية التقرير. ويمكن وضعه في صفحة أولى مستقلة عن طريق ضبط السمة. isTitleNewPage="true".
رأس الصفحة
يظهر شريط رأس الصفحة في بداية كل صفحة. ويستثني الصفحة الأولى إذا تم استخدام شريط العنوان، والصفحة الأخيرة إذا تم استخدام شريط الملخص مع الإعداد isSummaryWithPageHeaderAndFooter="false".
رأس العمود
تظهر رؤوس الأعمدة قبل شريط التفاصيل في كل صفحة.
التفاصيل
يتم تكرار قسم التفاصيل لكل سجل في مصدر البيانات المُقدّم. كما يُسمح بوجود نطاقات تفاصيل متعددة (1، 2، وهكذا).
تذييل العمود
يظهر هذا القسم أسفل شريط التفاصيل في كل صفحة يوجد بها شريط التفاصيل. الإعداد الافتراضي هو نهاية الصفحة، ولكن يمكن تغييره ليظهر أسفل شريط التفاصيل الأخير عن طريق ضبط السمة. isFloatColumnFooter="true".
تذييل الصفحة
سيتم عرض هذا القسم في نهاية كل صفحة، باستثناء شريط الملخص، وشريط العنوان، والشريط الأخير غير الملخص.
تذييل الصفحة الأخيرة
يظهر هذا القسم في الصفحة الأخيرة، بدلاً من تذييل الصفحة العادي، عندما لا يتم تقديم شريط ملخص.
ملخص
لا يظهر قسم الملخص إلا في نهاية التقرير على صفحة جديدة عندما isSummaryNewPage="true" يتم ضبطها، ومع رأس وتذييل الصفحة عندما isSummaryWithPageHeaderAndFooter="true" تم تعيينه.
رأس المجموعة
لا يظهر هذا القسم إلا عند تعريفه، في كل مرة يتغير فيها تعبير المجموعة، قبل نطاق التفاصيل.
تذييل المجموعة
لا يظهر هذا القسم إلا إذا تم تعريف مجموعة، في كل مرة قبل تغيير تعبير المجموعة، بعد نطاق التفاصيل.
نبذة عامة
يتم عرضها في جميع الصفحات كخلفية لجميع نطاقات التقارير الأخرى.
لايوجد بيانات
سيظهر هذا الشريط عندما لا يتم تمرير أي مصدر بيانات، أو عندما يكون مصدر البيانات فارغًا. whenNoDataType="NoDataSection" تم تعيينه.
جاسبر ضد بنتاهو
سنتعرف الآن على الفرق بين جاسبر وبنتاهو.
فيما يلي أبرز الاختلافات بين جاسبر وبنتاهو:
| المعاملات | يشب | Pentaho |
|---|---|---|
| التقارير | يستخدم جاسبر برنامج Jaspersoft Studio لتصميم التقارير. | يستخدم برنامج Pentaho Report Designer. |
| دعم إي تي إل | تستخدم شركة Jaspersoft إصدار Talend Open Studio لأغراض ETL. | ويستخدم Pentaho Data Integrator كإعداد افتراضي أداة ETL. |
| لوحة التحكم | تتوفر وظيفة لوحة التحكم فقط في إصدار المؤسسات من برنامج Jaspersoft. | تقدم Pentaho مجموعة واسعة من الميزات في لوحات التحكم الخاصة بها. |
| ذكاء الأعمال المتنقلة | تتمتع شركة Jaspersoft بدعم أفضل لذكاء الأعمال على الأجهزة المحمولة. | تحتاج Pentaho إلى الاعتماد على أداة خارجية لتحسين تجربة ذكاء الأعمال على الأجهزة المحمولة. |
| توثيق | تسويق ومواقع وتوثيق أفضل. | دعم التوثيق ضعيف. |
| أفضل ميزة | أسهل للبحث والعثور على ما تحتاجه. | يوفر خدمات استخراج البيانات والتكامل مع أجهزة iPhone. |
| النسخة المدفوعة | توفر النسخة المدفوعة ميزات مثل استعلام مخصص واجهة المستخدم على الويب وواجهة إنشاء لوحة التحكم على الويب. | يوفر ميزات مثل تكامل LDAP، وتسجيل الدخول الموحد، والتدقيق. |
الفرق التي استثمرت بالفعل في Java عادةً ما تختار الفرق التي تحتاج إلى تكامل بيانات مكثف إلى جانب إعداد التقارير Jasper، بينما تختار الفرق التي تحتاج إلى تكامل بيانات مكثف إلى جانب إعداد التقارير Pentaho.
التحديات التي واجهتها أثناء إنشاء JasperReports
فيما يلي بعض التحديات التي ستواجهها أثناء إنشاء تقارير جاسبر:
- التغييرات الأساسية - عندما تتغير قواعد العمل أو يتم تحسينها، فمن الضروري تغيير المنطق الأساسي للتقرير.
- التقارير المعقدة – التقارير الفرعية وتقارير الجداول المتقاطعة هي أمثلة جيدة.
- تقارير الرسوم البيانية أو الرسوم البيانية المرئية، على سبيل المثال الرسم البياني، وخط XY، والدائرة، والشريط، والسلاسل الزمنية، ومخططات العدادات.
عيوب استخدام تقارير جاسبر
فيما يلي عيوب استخدام برنامج Jasper Reports.
- بمجرد البدء في إجراء أي تغيير على أجزاء من الحزمة وإزالة الميزات، يصبح من الصعب للغاية العودة إلى إعدادات الحزمة الافتراضية.
- إنها جامدة للغاية، وتعديل الأسطر وإنشاء الجداول المتقاطعة مهمة صعبة.
- بعض المهام الشائعة، مثل تحديد المجاميع الفرعية لتقرير مجمع، تكون أسهل في مصممي التقارير الآخرين.
- يتطلب Jasper تجميع التقارير قبل تشغيلها. وهذا يعني أن مطوري التقارير يجب أن يكون لديهم كامل Java تم تثبيت SDK.
- في بعض الأحيان، عندما تقوم بتحرير التقرير، فإنه لا يعرض نفس المعاينة كما هو معروض على الويب.























