iReport is the free, open source report designer for JasperReports and JasperReports Server. Create very sophisticated layouts containing charts, images, subreports, crosstabs and much more. Access your data through JDBC, TableModels, JavaBeans, XML, Hibernate, CSV, and custom sources. Then publish your reports as PDF, RTF, XML, XLS, CSV, HTML, XHTML, text, DOCX, or OpenOffice.
There are several ways to add reporting capabilities to an application. For many web developers, to create a report just means to create a web page, which produces good results on screen but poor results when printed to paper. And to create a report in PDF means write more code... tons of code, making the reports hard to maintain and long to write. When working with other technologies the problem does not change very much. For example, Java provides an extensive API for printing, but there is still a lot of work to write specific code for each document format.
The answer to this problem is to use a reporting library. JasperReports Library is the world's most popular open source Java reporting library, and iReport Designer is a visual report designer for JasperReports. The library is a report engine that can be integrated in your open or commercial application to generate the reports designed with iReport Designer, display them on screen or export them in a final format like PDF, OpenOffice, DOCX and many others. Alternatively, you can stream the result through a web application or send the final document directly to a printer. JasperReports is in some way the core of iReport Designer.
JasperReports is extremely easy to integrate in an Java application, but if you need an environment to use the reports without having to write a custom application, you may consider using JasperReports Server.
JasperServer provides a web based interface to manage, schedule, and run the reports; a repository to store all the report resources like images, fonts, data sources and much more; a security service to decide who can execute which report; and a web services API to execute the reports from external applications (so you can generate reports from any kind of environment, like PHP or .NET).
iReport Designer allows you to design reports, JasperReports allows to execute them and generate output in a Java application, and JasperServer allows both end users and external applications to access, view, and publish your reports securely. JasperServer also makes reports interactive by adding drill down and drill up capabilities to your documents.