e Sure… You have all the ability to write whatever code you want, to
count and group data however you want, and display it however you want in
cfdocument. But you have to write it.
The vast majority of reports in our system are cfdocument or pd4ml based.
(HTML to PDF)
The only time something like JasperReports is more useful is
- If the report is huge. (Like 3000 pages)
- The report will take a long time to generate data (like 20 minutes or
more)
- If you need a pixel-perfect output. (More and more rare these days)
And for JasperReportsServer:
5) You don’t want to write code. You want an already built UI, that allows
users to write ad-hoc queries based on their own SQL, table joins, etc,
Reorder their own columns, rename things, create groupings, etc.
You can do way MORE in HTML+PDF - you could pull in query data from
multiple datasources, convert/aggregate them into structures, completely
rebuild the dataset into something else, wind and unwind XML/WDDX/JSON data
structures into columns - whatever. You don’t even have to loop over
cfqueries in CF. You could loop over an array, or pull data from an
uploaded CSV , or whatever.
Something like JR is going to require a dataset. A primary dataset you can
loop over. In general, no supplementary cfqueries or subqueries to loop
over. If you need to do something with related data - it’s a subreport,
which is a separate query, that gets run once per row.
If your data lends itself to a cross-tab - JR can build one of those
easily. But you can do it in HTML too. The JR stuff is going to be
limited to displaying an aggregate in a cell, HTML will not.
Some things are easier in JR - things like repeating the column headers
just work - in HTML you have to create a header section and hardcode your
column lengths. It all depends on what problem you’re trying to solve, how
much code you want to write… it’s all a design decision.
-G