السلام عليكم ورحمة الله وبركاته
موضوع ادراج تقارير jasper في تطبيق جافا وتصديرها لملف pdf أو أي نوع آخر أو طباعتها على الطباعة من المواضيع التي أرقتني كثيرا
وقد أصبح عندي بعض المعلومات التي أحببت أن أشارككم بها لعلها تفيدكم .
1 - المكتبات الخاصة بالتعامل مع التقارير يمكن تحميلها من مصدرها الأصلي التالي حيث أغلب المشاكل تحدث بسبب نقص المكتبات
http://sourceforge.net/projects/jasperreports/files/jasperreports/
المجلد رقم 1 بعد تحميله وفك الضغط عنه ابحث في داخله عن المجلد lib وستجد بداخله 48 ملف jar
أضف لها أيضا ملفات jar المشار لها برقم 2 و 3 و 4 و 5
2 - اللغة العربية لا تظهر في ملفات pdf وذلك لأن المكتبة itext التي يستخدمها jasper لا تدعم اللغة العربية
3 - اللغة العربية تظهر كعلامات استفهام في ملفات xls والحل بتعديل ترميز البرنامج من utf8 إلى wndows-1256
ويكون ذلك في netbeans بالضغط بالزر الأيمن على المشروع ثم properties ثم اختر windows-1256 في خانة encoding كما ترى في الصورة
4 - البرنامج
String fileName = "d:\\folder jasper example\\report4.jasper";
String outFileName = "d:\\folder jasper example\\outfile.xls";
HashMap hm = new HashMap();
try {
//تحديد مسار قاعدة البيانات
//access connection
Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=f:\\folder jasper example\\rohailidbi.mdb");
//mysql connection
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
//إنشاء كائن jasperprint وتمرير مسار الملف jasper والمعاملات إن وجدت و كائن conn
// Fill the report
JasperPrint print = JasperFillManager.fillReport(fileName, hm, conn);
//إخراج التقرير على صورة ملف أو طباعته
//ملاحظة : يجب تغيير إمتداد الملف outfile ليطابق امتداد الملف المراد إنشاؤه
// Create a PDF, HTML, XLS or printing report
//JRExporter exporter = new JRPdfExporter();
//JRExporter exporter = new JRHtmlExporter();
JRExporter exporter = new JRXlsExporter();
//JRExporter exporter = new JRPrintServiceExporter();
// Configure the exporter (set output file name and print object)
//تحديد مسار الملف المراد إخراجه للكائن exporter
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName);
//تمرير الكائن print للكائن exporter
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
// Export the file
exporter.exportReport();
}
5 - سؤال : كيف أجعل المستخدم يحدد مكان حفظ الملف ؟
مرفق البرنامج بدون مكتبات
مرفق ملف jasper وقاعدة البيانات
