الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مثال بسيط جدا لطباعة Pdf باستخدام Ireport

بدأه العيافـي في 8 سبتمبر 2009 · 9 رد · 2,197 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لمن لم يستخدم iReport من قبل . سأذكر خطوات استخدامه مع صنف جافا بسيط بعيدا عن التعقيدات و كثره الكلام للتتضح الصوره .

وبعد تطبيق المثال يمكنكم التوسع في الامر...

علما باني متأكد من انه بعد تنفيذ المثال سيتضح لك الكثير ..

الأدوات المستخدمة

1 - iReport 3.0.0 http://jasperforge.org/sf/projects/ireport

2- eclipse + ملفات الجار المرفقة .

أولا إنشاء التقرير

1 - في eclipse أنشئ مشرع جافا جديد

2 – أنشئ صنف javaBean . في المثال أسميناه Student.

package othman.ireport;

/**
 * @author othman
 *
 */
public class Student {

	private String name;
	private String gpa;

	public Student() {
	}

	public Student(String name, String gpa) {
		super();
		this.gpa = gpa;
		this.name = name;
	}


	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getGpa() {
		return gpa;
	}

	public void setGpa(String gpa) {
		this.gpa = gpa;
	}
}

3– أنشئ صنف يحتوي على Method Static ترجع List<Student>.

package othman.ireport;

import java.util.ArrayList;
import java.util.List;

/**
 * @author othman
 *
 */
public class Main {

	public static List<Student> getStudent(){
		List<Student> students=new ArrayList<Student>();
		students.add(new Student("Ahmed","90"));
		students.add(new Student("kaled","95"));
		return students;
	}

	public static void main(String[] args) {

	}

}

4- صدر هذا المشروع الى iReport-3.0.0\lib بصيغة jar.

5- في iReport أنشئ ملف جديد File>New Document.

6- Data>connections/Data Sources

7- new>javaBeans set data source

8- حسب هذا المثال ستكون الاعدادات بالشكل التالي

Name : Student

Factory class: othman.ireport.Main

The static method: getStudent

اضغط على الزر "test " لتأكد من نجاح الاتصال .

ثم اضغط على حفظ. ثم اغلق النافذه المفتوحة.

9- Data>Report Query>JavaBeans Data Source

10 – اضف اسم javaBean

othman.ireport.Student

ثم اضغط على الزر Read attributes

حدد العناصر التي ستحتاجها في التقرير ثم إضغط علىAdd Selected files ثم اضغط على موافق.

11- في صفحة الرسم اضف Text Field

وفوق الحقل المضاف

Double Click>Edit Expression

استبدل النص Field بالنص gpa ثم اضغط على Apple

كرر هذه العمليه مع العنصر name .

12- في شريك الادوات اضغط على Execute .

الى انتهت عمليه انشاء التقرير.

لاستخدام هذا التقرير في مشروعك

احفظ الملف الخاص بهذا التقرير ويكون بصيغة jasper ، في مشروعك

وتجد الملف المطلوب في المجلد الرئيسي لبرنامج iReport.

وأستخدم الصنف Test لتصدير التقرير الى صيغة PDF.

package othman.ireport.test;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import othman.ireport.Student;

public class Test {

	public static String DIR=System.getProperty("user.home")+System.getProperty("file.separator")+"Desktop"+System.getProperty("file.separator");

	public static void exportReportToPdfFile(){
		InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("othman/ireport/test/test1.jasper");

		List<Student> list = new ArrayList<Student>();
		Student student=new Student("Omer","999");

		list.add(student);

		JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(list);
		HashMap<String, String> parameters =null;

		try {
		JasperPrint jasperPrint;
			jasperPrint = JasperFillManager.fillReport(inputStream, parameters, dataSource);

			//  export to PDF
			JasperExportManager.exportReportToPdfFile(jasperPrint, DIR+"Test.pdf");
			System.out.println("done...");
			//JasperViewer.viewReport(jasperPrint);

		} catch (JRException e) {
			e.printStackTrace();
		}

	}
	public static void main(String[] args) {
		Test.exportReportToPdfFile();
	}
}

وسلامتكم

lib.rar

src.rar

تم تعديل هذه المشاركة بواسطة العيافـي في 8 سبتمبر 2009 في 01:36

#2

حقا رائع, جزاك الله خيرا

#3

جذاك الله كل خير اخى الكريم

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#4

بأمانة مثال أكثر من رائع

لدي استفسار بسيط

  public static String DIR=System.getProperty("user.home")+System.getProperty("file.separator")+"Desktop"+System.getProperty("file.separator");

ما الهدف من هذه الجملة؟

هل يختلف file.separator من نظام تشغيل إلى آخر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

file.separator في لينوكس مثلا "/" بينما في windows "\"

#6

ماذا عن user.home أعتقد أنها في نظام النوافذ تمثل المجلد الخاص بالمستخدم الحالي

ماذا عن لنيكس؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

تمثل مجلد المستخدم الحالي

الايميل غير صحيح

يرجى تصحيح الايميل برسالة لأحد مدراء المنتدى

#8

في ويندوس مثلا تكون : C:\Doc.....\myuser

في في اللينوكس : /home/myuser

#9

اعتذر عن التأخير في الرد.

كما اشكر الزملاء على توضيح بعض التساؤلات .. :)

#10

طب فين بقى الطباعة 

مواضيع مشابهة