Calling Jasper Report From Java Application Tutorial

24
o7planning Calling Jasper Report from Java Application tutorial 1 Download JasperReport library for Java 2 Download JDBC Drivers 3 Prepare reports 4 Create a Java project and declare library 5 Generate PDF 6 The utility classes to connect some kind of Database 7 Pass Datasource and Parameters 1 Download JasperReport library for Java http://community.jaspersoft.com/download Related Document Categories Report Programming Java Basic What is needed to get started with Java? Guide to Installing and Configuring Java Guide to Installing and Configuring Eclipse Quick Learning Java for beginners JDK Javadoc in CHM format Inheritance and polymorphism in Java Abstract class and Interface in Java Access modifiers in Java Java Enum Tutorial Java Annotation Tutorial Comparison and sorting in Java Java String, StringBuffer and StringBuilder Tutorial All Tutorials Java Android C# C/C++ Database Report Client Others

description

How to generate pdf from jasper report through java applications

Transcript of Calling Jasper Report From Java Application Tutorial

Page 1: Calling Jasper Report From Java Application Tutorial

 o7planning

Calling Jasper Report from Java Application tutorial

1  Download JasperReport library for Java2  Download JDBC Drivers3  Prepare reports4  Create a Java project and declare library5  Generate PDF6  The utility classes to connect some kind of Database7  Pass Datasource and Parameters

1 Download JasperReport library for Java

http://community.jaspersoft.com/download

Related Document Categories

Report Programming

Java Basic

What is needed to get started with Java?

Guide to Installing and Configuring Java

Guide to Installing and Configuring Eclipse

Quick Learning Java for beginners

JDK Javadoc in CHM format

Inheritance and polymorphism in Java

Abstract class and Interface in Java

Access modifiers in Java

Java Enum Tutorial

Java Annotation Tutorial

Comparison and sorting in Java

Java  String,  StringBuffer  and  StringBuilderTutorial

All Tutorials Java Android C# C/C++ Database Report Client Others

Page 2: Calling Jasper Report From Java Application Tutorial

Java Exception Handling Tutorial

Java Generics Tutorial

Java Collection Framework Tutorial

Java IO Tutorial  Binary Streams

Java IO Tutorial  Character Streams

Java Date Time Tutorial

Syntax and new features in Java 8

Java Regular expression Tutorial

Java Multithreading Programming Tutorial

JDBC Driver Libraries  for different  types ofdatabase in Java

Java JDBC tutorial

Java Compression Tutorial

Java reflection Tutorial

Java remote method invocation  Java RMITutorial

Java Socket Programming Tutorial

Java  Desktop  Application  Programmingusing SWT

Eclipse JFace Tutorial

Commons IO Tutorial

Commons Logging Tutorial

Advanced Java

Java  Programming  for  team  using  Eclipseand SVN

Page 3: Calling Jasper Report From Java Application Tutorial

Customize  java  compiler  processing  yourAnnotation (Annotation Processing Tool)

Java Aspect Oriented Programming Tutorialwith AspectJ (AOP)

Install Maven into Eclipse

Maven Tutorial for Beginners

Maven Manage Dependencies

Setup  a  Multiple  Module  Project  usingMaven

Install JBoss Tools into Eclipse

Java Hibernate Tutorial for Beginners

Using  Hibernate  Tools  generate  entityclasses from Tables

Serverside Programming

Configuring Tomcat Server in Eclipse

Guide  to  installing  and  configuringGlassfish Web Server

Java Servlet Tutorial for Beginners

Java Servlet Filter Tutorial

Java JSP Tutorial for Beginners

Install Web Tools Platform into Eclipse

Create  a  Simple  Web  Application  UsingServlet, JSP and JDBC

Using  Google  reCAPTCHA  with  Java WebApplication

Page 4: Calling Jasper Report From Java Application Tutorial

Result:

Run  Maven  Web  Application  in  TomcatMaven Plugin

Run Maven Web Application in Jetty MavenPlugin

Struts2 Tutorial for Beginners

Spring  MVC  Tutorial  for  Beginners    HelloSpring 4 MVC

Simple Login Web Application using SpringMVC, Spring Security and Spring JDBC

Spring  MVC  and  Hibernate  TransactionTutorial

Struts2 Framework

Struts2 Tutorial for Beginners

Struts2  Tutorial  for  Beginners  (AnnotationConfiguration)

Spring Framework

Spring Tutorial for Beginners

Spring  MVC  Tutorial  for  Beginners    HelloSpring 4 MVC

Install Spring Tool Suite into Eclipse

Configuring  Static  Resource  and  ResourceBundle in Spring MVC Tutorial

Page 5: Calling Jasper Report From Java Application Tutorial

Unzip the downloaded file:

Spring MVC File Upload Tutorial

Spring JDBC Tutorial

Simple Login Web Application using SpringMVC, Spring Security and Spring JDBC

Spring MVC and Velocity Tutorial

Using Template in Spring MVC with ApacheTiles

Spring MVC and Spring  JDBC TransactionTutorial

Spring  MVC  and  Hibernate  TransactionTutorial

Eclipse Technology

Install  AspectJ  development  tools  intoEclipse

Java Aspect Oriented Programming Tutorialwith AspectJ (AOP)

How  to  get  the  open  source  Java  librariesas OSGi(s)

Install Tycho into Eclipse

Java OSGi Tutorial for Beginners

OSGi and AspectJ integration

Building  OSGi  project  with  Maven  andtycho

Install WindowBuilder into Eclipse

Java  Desktop  Application  Programmingusing SWT

Page 6: Calling Jasper Report From Java Application Tutorial

2 Download JDBC Drivers

If the report connected to a database, you need to have the JDBC drivers:

Eclipse JFace Tutorial

Install  e4  Tools  Developer  Resources  intoEclipse

Eclipse  RCP  4  Tutorial  for  Beginners    E4Workbench Application

Guide  to  Packing  and  Deploying  DesktopApplication SWT/RCP

Install RAP tools into Eclipse

Install RAP e4 Tooling into Eclipse

Install Eclipse RAP Target Platform

Eclipse RAP Tutorial  for Beginners   BasicApplication

Eclipse  RAP  Tutorial  for  Beginners    e4Workbench Application

Create  Eclipse  RAP  Widget  fromClientScriptingbased widget

Guide  to  packaging  and  deploying  EclipseRAP application

Install GEF into Eclipse

Eclipse  RAP  Tutorial  for  Beginners  Workbench Application (Earlier e4)

Eclipse  RCP  3  Tutorial  for  Beginners  Workbench Application

Simple  Eclipse  RCP  3  Application    Viewand Editor integration

Java API for HTML & XML

Page 7: Calling Jasper Report From Java Application Tutorial

You can see the guide to download JDBC Driver at:

http://o7planning.org/web/fe/default/en/document/21135/jdbcdriverlibrariesfordifferenttypesofdatabaseinjava

3 Prepare reports

You need a JasperReport file. We will run that report on Java. You can download an example of areport file at:

https://community.jaspersoft.com/sites/default/files/files/StyledTextReport.zip

Unzip the downloaded file, we will have jrxml file.

Parsing an XML File Using SAX

JDOM2 Tutorial

JAXB Tutorial

Java XStream Tutorial

Jsoup Java Html Parser Tutorial

Java Open source libraries

Skype Java API Tutorial

Using Scribe OAuth  Java API with GoogleOAuth 2 Tutorial

JDOM2 Tutorial

Java XStream Tutorial

Jsoup Java Html Parser Tutorial

Retrieving Geographic information based onIP Address using GeoIP2 Java API

Newest Documents

XML Parser for Oracle PL/SQL

Creating and Managing Oracle Wallet

Android Fragments Tutorial

Guide  to  Installing  Intel  HardwareAccelerated  Execution  Manager  (Intel®HAXM)

Page 8: Calling Jasper Report From Java Application Tutorial

4 Create a Java project and declare library

Create Java Project:

JavaCallJasperReportTutorial

Create a libs folder and copy the most vital libraries into this folder, including:

Android GridView Tutorial

Install  C/C++  Development  Tooling  intoEclipse

Guide to Installing C/C++ Compiler CygWin

Guide to Installing C/C++ Compiler MinGW

Guide  to  Installing  and  Configuring  VisualStudio 2013

Java XStream Tutorial

Quick Link

1  Download JasperReport library for Java2  Download JDBC Drivers3  Prepare reports4  Create a Java project and declare library5  Generate PDF6  The utility classes to connect some kind ofDatabase7  Pass Datasource and Parameters

Page 9: Calling Jasper Report From Java Application Tutorial

commonsbeanutils*.jarcommonscollections*.jarcommonsdigester*.jarcommonslogging*.jargroovyall*.jaritextpdf*.jaritextpdfa*.jarjasperreports*.jar

Next, copy Database Driver into libs folder. Here I copy all of three JDBC Driver into Database typesincluding Oracle, MySQL, SQLServer. 

4  0  0  0

 

 

Page 10: Calling Jasper Report From Java Application Tutorial

To declare the library, rightclick Project and select Properties

Page 11: Calling Jasper Report From Java Application Tutorial

Select all the jar files in the libs folder:

Page 12: Calling Jasper Report From Java Application Tutorial
Page 13: Calling Jasper Report From Java Application Tutorial

5 Generate PDF

Here is a simple example, Java will call to report JasperReport and generate PDF file. This simpleexample does not have the participation of the Database.

PdfFromXmlFile.java

12

package org.o7planning.tutorial.javajasperreport; 

?

Page 14: Calling Jasper Report From Java Application Tutorial

23456789

101112131415161718192021222324252627282930313233343536373839404142434445

46

 import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map; import net.sf.jasperreports.engine.JRDataSource;import net.sf.jasperreports.engine.JREmptyDataSource;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport; public class PdfFromXmlFile {    public static void main(String[] args) throws JRException, IOException {         // Compile jrxml file.       JasperReport jasperReport = JasperCompileManager               .compileReport("C:/jasperreport/StyledTextReport/StyledTextReport.jrxml"        // Parameters for report       Map<String, Object> parameters = new HashMap<String, Object>();        // DataSource       // This is simple example, no database.       // then using empty datasource.       JRDataSource dataSource = new JREmptyDataSource();        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,               parameters, dataSource);            // Make sure the output directory exists.       File outDir = new File("C:/jasperoutput");       outDir.mkdirs();        // Export to PDF.       JasperExportManager.exportReportToPdfFile(jasperPrint,               "C:/jasperoutput/StyledTextReport.pdf");               System.out.println("Done!");

   }

Page 15: Calling Jasper Report From Java Application Tutorial

Results of running the example:

4647

   }}

Page 16: Calling Jasper Report From Java Application Tutorial

6 The utility classes to connect some kind of Database

OracleMySQLSQLServer

Page 17: Calling Jasper Report From Java Application Tutorial

OracleConnUtils.java

123456789

101112131415161718192021

package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class OracleConnUtils {     public static Connection getOracleConnection()            throws ClassNotFoundException, SQLException {        String hostName = "localhost";        String sid = "db11g";        String userName = "learningsql";        String password = "12345";         return getOracleConnection(hostName, sid, userName, password);    }     public static Connection getOracleConnection(String hostName, String sid,            String userName, String password) throws ClassNotFoundException,            SQLException {

?

Page 18: Calling Jasper Report From Java Application Tutorial

MySQLConnUtils.java

212223242526272829303132333435363738

            SQLException {               // Declare the class Driver for ORACLE DB        // This is necessary with Java 5 (or older)        // Java6 (or newer) automatically find the appropriate driver.        // If you use Java> 5, then this line is not needed.            Class.forName("oracle.jdbc.driver.OracleDriver");          // Example: jdbc:oracle:thin:@localhost:1521:db11g        String connectionURL = "jdbc:oracle:thin:@" + hostName + ":1521:" + sid;         Connection conn = DriverManager.getConnection(connectionURL, userName,                password);        return conn;    }}

123456789

101112131415161718

19

package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class MySQLConnUtils {     public static Connection getMySQLConnection()            throws ClassNotFoundException, SQLException {        String hostName = "localhost";        String dbName = "learningsql";        String userName = "root";        String password = "12345";        return getMySQLConnection(hostName, dbName, userName, password);    }     public static Connection getMySQLConnection(String hostName, String dbName,

            String userName, String password) throws SQLException,

?

Page 19: Calling Jasper Report From Java Application Tutorial

SQLServerConnUtils.java

192021222324252627282930313233343536

            String userName, String password) throws SQLException,            ClassNotFoundException {         // Declare the class Driver for MySQL DB        // This is necessary with Java 5 (or older)        // Java6 (or newer) automatically find the appropriate driver.        // If you use Java> 5, then this line is not needed.        Class.forName("com.mysql.jdbc.Driver");         // Cấu trúc URL Connection dành cho Oracle        // Ví dụ: jdbc:mysql://localhost:3306/simplehr        String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName;         Connection conn = DriverManager.getConnection(connectionURL, userName,                password);        return conn;    }}

123456789

101112131415161718

19

package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class SQLServerConnUtils {         // Connect to SQLServer    // (Using JDBC Driver: SQLJDBC)    public static Connection getSQLServerConnection_SQLJDBC()            throws ClassNotFoundException, SQLException {        String hostName = "localhost";        String sqlInstanceName = "SQLEXPRESS";        String database = "learningsql";        String userName = "sa";        String password = "12345"; 

        return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName,

?

Page 20: Calling Jasper Report From Java Application Tutorial

1920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

63

        return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName,                database, userName, password);    }         // Connect to SQLServer & using JTDS library    public static Connection getSQLServerConnection_JTDS() throws SQLException,            ClassNotFoundException {        String hostName = "learningsql";        String sqlInstanceName = "SQLEXPRESS";        String database = "simplehr";        String userName = "sa";        String password = "12345";         return getSQLServerConnection_JTDS(hostName, sqlInstanceName, database,                userName, password);    }        // Connect to SQLServer    // (Using JDBC Driver: SQLJDBC)    private static Connection getSQLServerConnection_SQLJDBC(String hostName,            String sqlInstanceName, String database, String userName,            String password) throws ClassNotFoundException, SQLException {         // Declare the class Driver for SQLServer DB        // This is necessary with Java 5 (or older)        // Java6 (or newer) automatically find the appropriate driver.        // If you use Java> 5, then this line is not needed.        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");         // jdbc:sqlserver://ServerIp:1433/SQLEXPRESS;databaseName=simplehr        String connectionURL = "jdbc:sqlserver://" + hostName + ":1433"                + ";instance=" + sqlInstanceName + ";databaseName=" + database;         Connection conn = DriverManager.getConnection(connectionURL, userName,                password);        return conn;    }        // Connect to SQLServer & using JTDS library    private static Connection getSQLServerConnection_JTDS(String hostName,            String sqlInstanceName, String database, String userName,            String password) throws ClassNotFoundException, SQLException { 

        // Declare the class Driver for SQLServer DB

Page 21: Calling Jasper Report From Java Application Tutorial

ConnectionUtils.java

63646566676869707172737475767778

        // Declare the class Driver for SQLServer DB        // This is necessary with Java 5 (or older)        // Java6 (or newer) automatically find the appropriate driver.        // If you use Java> 5, then this line is not needed.            Class.forName("net.sourceforge.jtds.jdbc.Driver");         // jdbc:jtds:sqlserver://localhost:1433/simplehr;instance=SQLEXPRESS        String connectionURL = "jdbc:jtds:sqlserver://" + hostName + ":1433/"                + database + ";instance=" + sqlInstanceName;         Connection conn = DriverManager.getConnection(connectionURL, userName,                password);        return conn;    } }

123456789

1011121314151617181920

21

package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.SQLException; public class ConnectionUtils {     public static Connection getConnection() throws SQLException,            ClassNotFoundException {         // Using Oracle        // You may be replaced by other Database.        return OracleConnUtils.getOracleConnection();    }     //    // Test Connection ...    //    public static void main(String[] args) throws SQLException,            ClassNotFoundException {

 

?

Page 22: Calling Jasper Report From Java Application Tutorial

7 Pass Datasource and Parameters

The following example will be more complex than the previous example. We will pass parameters anddatabase connection  into report from Java.

JavaCallJasperReport.java

2122232425262728293031

         System.out.println("Get connection ... ");         // Get a Connection object        Connection conn = ConnectionUtils.getConnection();         System.out.println("Get connection " + conn);         System.out.println("Done!");    }}

123456789

1011121314151617181920

package org.o7planning.tutorial.javajasperreport; import java.io.File;import java.sql.Connection;import java.sql.SQLException;import java.util.HashMap;import java.util.Map; import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;import net.sf.jasperreports.engine.export.JRPdfExporter;import net.sf.jasperreports.export.ExporterInput;import net.sf.jasperreports.export.OutputStreamExporterOutput;import net.sf.jasperreports.export.SimpleExporterInput;import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;import net.sf.jasperreports.export.SimplePdfExporterConfiguration; 

?

Page 23: Calling Jasper Report From Java Application Tutorial

2021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

64

 import org.o7planning.tutorial.javajasperreport.conn.ConnectionUtils; public class JavaCallJasperReport {     public static void main(String[] args) throws JRException,            ClassNotFoundException, SQLException {         String reportSrcFile = "F:/ECLIPSE_TUTORIAL/JASPERREPORT/HelloJasperReport/FirstJasperReport.jrxml"                 // First, compile jrxml file.        JasperReport jasperReport =    JasperCompileManager.compileReport(reportSrcFile);         Connection conn = ConnectionUtils.getConnection();         // Parameters for report        Map<String, Object> parameters = new HashMap<String, Object>();         JasperPrint print = JasperFillManager.fillReport(jasperReport,                parameters, conn);         // Make sure the output directory exists.        File outDir = new File("C:/jasperoutput");        outDir.mkdirs();         // PDF Exportor.        JRPdfExporter exporter = new JRPdfExporter();         ExporterInput exporterInput = new SimpleExporterInput(print);        // ExporterInput        exporter.setExporterInput(exporterInput);         // ExporterOutput        OutputStreamExporterOutput exporterOutput = new SimpleOutputStreamExporterOutput(                "C:/jasperoutput/FirstJasperReport.pdf");        // Output        exporter.setExporterOutput(exporterOutput);         //        SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();        exporter.setConfiguration(configuration);        exporter.exportReport();         System.out.print("Done!");

    }

Page 24: Calling Jasper Report From Java Application Tutorial

o7planning.org

6465

    }}