25
มี.ค.
10

ใช้ Jasper Reports ออกรายงานเป็นไฟล์ PDF ผ่าน Railo Coldfusion

ความก่อนเขียน java ตรงๆคราวนี้จะใช้ coldfusion ให้เรียกคลาส java เพื่อเรียกใช้ jasper reports ให้สร้างรายงานเป็น pdf

โดยใช้ Railo ซึ่งเป็น opensource coldfusion application server และ ใช้ javaloader ซึ่งเป็น library ที่ช่วยใช้ coldfusion โหลดคลาสจาวา โดยไม่ต้องเอา jar ไฟล์ไปไว้ใน coldfusion classpath และไม่จำเป็นต้อง restart server ใหม่

ตัวอย่างโค้ด

                <cfscript>
                        // กำหนด path ของ jar ไฟล์ที่จะโหลด
                        paths = arrayNew(1);
                        paths[1] = expandPath("/jassperreports-lib/commons-digester-1.7.jar");
                        paths[2] = expandPath("/jassperreports-lib/jasperreports-3.7.1.jar");
                        paths[3] = expandPath("/jassperreports-lib/groovy-all.jar");
      
                        //create the loader
                        loader = createObject("component", "javaloader.JavaLoader").init(paths);


                        // getConnection ที่จำเป็นต้องใช้ผ่าน coldfusion datasource
                        datasourceService = createObject("java","coldfusion.server.ServiceFactory").getDataSourceService();
                        connection = datasourceService.getDatasource("qualinet").getConnection();

                        // hashMap ไว้เก็บค่า Property ต่างๆ ที่จะส่งไป fill ให้ jasper report
                        hashMap = createObject("java","java.util.HashMap").init();
                        hashMap.put("QUOTATION_ID",toString(url.qid));
                        // โหลดคลาส แต่ยังไม่ได้ทำการสร้าง instance
                        JasperFillManager = loader.create("net.sf.jasperreports.engine.JasperFillManager");
                        JasperExportManager = loader.create("net.sf.jasperreports.engine.JasperExportManager");
                        // โหลดแล้วสร้าง instance เลย
                        jrEmptyDataSource = loader.create("net.sf.jasperreports.engine.JREmptyDataSource").init();
                        
                        // ทำการ fill report โดยส่ง path ของ file jasper , hashMap และ connection 
                        jasperPrint = JasperFillManager.fillReport("/home/iporsut/railo/webapps/ROOT/example-0.6/quotation.jasper",hashMap,connection);

                        // export report ไปเป็นไฟล์ pdf
                        JasperExportManager.exportReportToPdfFile(jasperPrint,"/home/iporsut/railo/webapps/ROOT/quotation.pdf");
                </cfscript>
Advertisements

0 Responses to “ใช้ Jasper Reports ออกรายงานเป็นไฟล์ PDF ผ่าน Railo Coldfusion”



  1. ให้ความเห็น

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s


%d bloggers like this: