JasperReports

JasperReports is an open source Java reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML, Microsoft Excel, RTF, ODT, comma-separated values (CSV), XSL, or XML files.

It can be used in Java-enabled applications, including Java EE or web applications, to generate dynamic content. It reads its instructions from an XML or  file.

JasperReports is part of the Lisog open source stack initiative.

Features
JasperReports is an open source reporting library that can be embedded into any Java application. Features include:
 * Scriptlets may accompany the report definition, which the report definition can invoke at any point to perform additional processing. The scriptlet is built using Java, and has many hooks that can be invoked before or after stages of the report generation, such as Report, Page, Column or Group.
 * Sub-reports

For users with more sophisticated report management requirements, reports designed for JasperReports can be easily imported into the JasperServer—the interactive report server.

Jaspersoft
Teodor Danciu began work on JasperReports in June 2001; the SourceForge project was registered in September 2001 and JasperReports 0.1.5 was released on November 3, 2001.

Jaspersoft was founded as Panscopic by Al Campa, CEO, and Raj Bhargava, VP of Products in 2001. Panscopic raised $23M from Doll Capital, Discovery Ventures, Morgenthaler Ventures, and Partech. In 2004, Panscopic teamed up with Teodor Danciu, acquired the intellectual property of JasperReports, and changed the name of the company to Jaspersoft. Brian Gentile became CEO in 2007.

JasperReports Version 1.0 was released on July 21, 2005. The code was originally licensed under a copyleft JasperReports License and later moved to GNU Lesser General Public License.

Jaspersoft's main related product is JasperReports Server, a Java EE web application that provides advanced report server capabilities such as report scheduling and permissions. It is available under an open source license for use in conjunction with open source infrastructure such as MySQL and JBoss, or a commercial license for enterprise deployments involving commercial databases and application servers.

Jaspersoft provides commercial software around the JasperReports product, and negotiate contracts with software developers that wish to embed the JasperReports engine into a closed source product. Jaspersoft is a gold partner with MySQL, and JasperReports was included in the PostgreSQL distribution Bizgres version 0.7.

In 2007, Ingres Corporation partnered with Jaspersoft and rPath start-up to release a Business Intelligence software based appliance called Icebreaker BI. It consisted of the Ingres 2006 database with rPath Linux and business intelligence tools from JasperSoft. Although the Icebreaker BI Appliance package included no hardware, Ingres called it an appliance because all the components of the software stack were tightly integrated and the company supported all the software itself.

On April 28, 2014, TIBCO announced its acquisition of Jaspersoft.

JRXML
JasperReports reports are defined in an XML file format, called JRXML, which can be hand-coded, generated, or designed using a tool. The file format is defined by a document type definition or XML schema for newer versions, providing limited interoperability. JRXML files have the filename extension.

A  file is a compiled version of a   file. does the compilation on the fly, but the compilation can also get achieved at runtime using the JasperCompileManager class.

IDE integration
Several Java integrated development environments, such as NetBeans, Eclipse and IBM Websphere Studio Application Developer provide instructions for users wishing to integrate JasperReports into a project.

Code refactoring
JasperReports has been the focus of several academic papers on code refactoring.