|
|
ReportsAnywhere is a full featured reporting system, that is designed compete on a feature by feature
basis with any commercially available reporting or publishing software.
Here is an overview of what we have implemented so far:
- Input.
ReportsAnywhere can take its input from databases or directly from Java
applications.
- Output.
ReportsAnywhere can generate various output formats.
- Print
Select the among the printers in the system either interactively or through the
API.
Control printers with multiple paper feeds. E.g. Load the first sheet from a different paper
feed.
- Adobe PDF
ReportsAnywhere creates highly compact PDF. It can reach a performance of up
to
12000 pages per minute on a desktop PC.
- XML
The report structure can be exported as XML, so that it can be processed by other
tools.
- CSV
Data Tables can be exported in Comma Separated Values, so that data can be read by
Excel or imported into another database.
- RTF
With the RTF export format a report can be loaded into Microsoft Word, or OpenOffice
for further editing. The style and layout of the document is preserved as much as possible.
- HTML
ReportsAnywhere can deliver the output in HTML format, so that it can be displayed
directly on a web page.
Which format is generated can be controlled
by the user or through the run time API.
- Page Design
ReportsAnywhere offers a fully interactive designer with drag and drop
editing, style sheets, table designer, zoomable views etc. Elements on the page can be:
- Database fields
- Static text (labels)
- Formulas (for computed values)
- Styled text, that itself may contain data fields.
- Images (Logos) from external files.
- Images from the database
- Graphic display of values. (Inline bar charts)
- Special values like page numbers, date, user names etc.
- Table of contents. The table of contents can be placed at the beginning of the document
without requiring two passes over the document.
- Tables. Tables can even be nested to arbitrary depth to deal with nested XML or object
structures.
- Header/footers: ReportsAnywhere supports complex headers and footers, that can be set
individually for the first, following or last page.
- Data Transformation/Analysis
The data can be processed, transformed and aggregated
before it is displayed.
- Grouping: Tables (Collections) can be arbitrarily grouped.
- Totals: Counts, sums, average, min, max can be computed at the table, group or page
level. Running totals can also be displayed.
- Formulas: ReportsAnywhere provides a simple formula language, that can be used to
compute new values. It has many built in functions, that can be easily be extended using
plug-ins.
- Filters: Collections and tables can have local filters. While data sources like
relational databases can filter using SQL, it is very handy to add local filters on the
fly.
- Parameters: Paramaters are values, that can be used in formulas or for display. They are
set by showing a dialog before the report runs or they can be set through the API. Sets
of parameters can be saved into a file for easy reuse.
- API
ReportsAnywhere offers an API for integration.
- Query the available templates in a repository.
- Start a report from a template.
- Supply parameter values for a template.
- Set the output mode for a report. (Screen, Web, Pdf etc)
- Collect the output from a report run.
- The API is accessible as a pure Java or as a web service.
- Schema changes
- Changes in the database schema are automatically recognized at startup.
- Affected cells are marked and set to inactive.
- Inactive cells can be simply reactivated by dropping a new data field onto them.
- A complete report of all affected
- Plugin Architecture
Plugins allow easy extension through predefined extension points.
- Data functions: A reportable object can have plugged functions that compute values which are availabe in the report design.
- Additional built-in functions of the formula language can be plugged in.
- New cell types can be defined as a plugin.
- The menus can be extended with new functions.
- The data integration plugin allows to connect to any data source and present its contents as reportable objects.
|