07-30-2002, 01:09 AM
Can some one please help me in providing some high level comparison of JFreeReport and JasperReports. I have played with JasperReports and it looks like it will meet my needs. However, I just wanted to make sure that I am not overlooking JFreeRport.
07-30-2002, 09:33 AM
I'm in the same situation. I'm looking for a good open source report engine and at this moment I'd like to test JasperReports and JFreeReport, but I don't know which are their differences.
07-30-2002, 10:06 AM
I think I'll just copy&paste something about this issue. Thomas Dilts (http://www.lazy8.nu/) asked me the same in May:
<----------------- snip ---------------------------------->
I'm not sure, whether I am able to answer your question,
as I haven't used JasperReports yet.
Some words about JFreeReport: JFR is intended to be a simple
and small printing engine. Classes or functions that are unnessesary
for printing, will have no place in the main engine. Of course we will
add utility classes to easily feed data into the engine, but
they are just decoration and not part of the main engine.
From my point of view, every report's base data could be expressed
as a table. Using this view renders calculation inside a row to be
not part of JFreeReport's responsibility.
An expression like "column1 + column2 = column3" has to be evaluated
in the table model/datasource, not by the report. As we would commit
some form of suicid if we force users to write custom tablemodels for
every report they want to print, we place more decoration around the
engine (at least we plan to as soon as the basic are done).
Our last release is the first one to include graphics, fore- and
background colors get included in the next release.
Jasper is far beyond this point.
JFreeReport has no problems doing subgrouping, but has currently no
subreporting. Jasper uses grouping functions instead of the classical
field comparison approach. If a jfreereport user wants to use complex
grouping, he could easily add a column to his tablemodel, containing
a group value, which then can be evaluated by the engine.
If you have a look at Jasper's "jasper" demo, they have to fill the
datasource in an separate step (Task FILL). The only help jasper gives,
is starting the query and creating a ResultSet for you.
If you want to create a tableModel from a ResultSet in JFreeReport, have
a look at JFreeReport's utility package. There hides a ResultSetTableModel,
which helps doing the same as Jaspers JRResultSetDataSource.
But in both engines you have to add the data manually. Additionally jasper
seems to save the compiled report on disk, JFreeReport does not do this.
JFreeReport read all data live from the TableModel, no harddisk caching involved.
As said before, we are on the very beginning, additional TableModels will
decorate our engine later.
Another maybe not so obvious thing: Our XML-definition is not the final draft.
The current implementation is intended to help users create reports, but later
releases will have different report generators. JFreeReport is the basic
printing engine - and this report generator is just a demonstration what could
be done. JFreeReport versions before 0.5 didn't even use xml, there was a simple
ANTLR parser to create the demo reports, and the current generator is "decoration".
For bigger projects, it can be usefull to create a custom parser, some of our users
create reports entirely without a special generator, just by compositing the
elements manualy together.
To the design issue: JFreeReports redesign is not yet completed, there is
too much code which is redundant and will be removed, but thanks for the
Just ask, if you have more questions or something is unclear.
Have more fun,
----- Original Message -----
From: "Thomas Dilts" <firstname.lastname@example.org>
Sent: Saturday, May 18, 2002 12:03 PM
Subject: jFreeReport vs JasperReports
> I am trying to get a grasp on what is the difference
> between jFreeReport and JasperReports. Ive downloaded both
> and studied both but I wish I could get just a few words
> from you on what you think and whether or not I have
> understood correctly.
> 1. It seems JasperReports has come farther with the fancy
> graphics but JasperReports seems to be struggling with
> fundemental things like sub-grouping.
> 2. JasperReports can have all of the report in the XML
> file but jFreeReport requires a java table class to feed
> data over to the report making process.
> 3. jFreeReport seems to have a better overall design
> perhaps due to the fact that more people are involved in
> the design process.
> Could you write to me just a few words on what you think
> the difference is? Greatly appreciated.
Have more fun,