Stunning PDF+ Reporting Solution for Oracle APEX

Stunning PDF+ Reporting Solution for Oracle APEX

The feature that APEX misses the most

For me, the feature that APEX misses the most is a "proper PDF reporting solution", to be able to produce pixel-perfect PDFs for quotations, invoices etc...

This is a requirement in most projects and today, this can't be done using APEX only. We need an external solution for this.

For me, Oracle Reports was (by far) the best reporting tool for "oracle developers". I still can't understand Oracle's decision to kill such a wonderful tool.

For years, I've been desperately looking for a reporting solution that could replace it.

I've tried several solutions, BI Publisher, Jasper, AOP & much more... and I have never been entirely satisfied with any of them.

To be honest, I'm not a big fan of the "word template" and tags replacement model. You always hit some limitations at some point, simply because Word is not a report designer! The different teams will try to add all kinds of "dirty options" to get around these limitations but for me, it is simply not the right way. It's like trying to eat soup using chopsticks...

You need a proper "report template designer" !!!

Dreaming Solution

Several nights in a row I dreamed that the APEX team had created a proper "Report Template Designer" within APEX, with components, repeating groups, properties pallet, page break options, cross-tab (matrix) etc...

And in my apps, I could just point to a specific "report template" and "dataset" and boom, I get a pixel-perfect PDF (or spreadsheet)...

Maybe one day?

A Stunning Alternative Solution: Stimulsoft

I recently came across this solution by chance on the net and I decided to give it a try. I must say that I was completely impressed by it and felt like I had finally found the perfect reporting solution for my needs.

It seems that there are various ways to install or embed it, but for APEX, I think that the best option is the Stimulsoft Embedded Reports.JS

The key advantages for me are :

  • NO SERVER REQUIRED

Yes, the engine can run in JavaScript on the client, so you don't need to install and maintain anything on the server side.

  • NO DATABASE CONNECTION REQUIRED

Stimulsoft is compatible with most common databases but like AOP, you can pass the data dynamically in JSON format. For me, it's the way to go because you don't need to worry about any compatibility issues, JDBC drivers, DB Versions etc...

You just send the dataset in json and a "report template" in json to the javascript engine and it does the job.

  • PROPER REPORT DESIGNER

Stimulsoft has a proper "report template designer", like Oracle Reports, with all the standard options, like Groups / Sub Reports / Cross-Tab (matrix) / Summary Function / Print on All Pages / Reset Page Number etc...etc...

  • WEB-BASED REPORT DESIGNER

Yes, you don't need to install anything to design your report templates, Stimulsoft has a web-based report designer and yes, you can easily add it to an APEX Page and build your reports directly within your APEX App.

(There is also a standalone desktop designer that you can install locally but I'm not interested in it)

  • REPORT TEMPLATES IN JSON

The report template produced by the report designer is a JSON that you can easily store in a CLOB column in your database and easily manage the different versions as you wish...

  • RESULTS IN ANY FORMAT

When you run a Stimulsoft report, you can open it directly on your APEX Page with the built-in "report viewer". The user can then choose to print it or save it in any format.

Other functionalities

With Stimulsoft, you can also build interactive dashboards, reports & forms. But I don't see any interest in it, APEX is doing this job perfectly.

Demo

You can have a look at the Stimulsoft demo on their website: https://demo.stimulsoft.com/?seeAll#Net/InvoiceSoftware

For any report, you can also click on the "Edit" button on the top right corner to access the report designer

Please find below a quick demo of how I successfully integrated the viewer and the designer into my APEX Apps.

Disadvantages and Risks

  • One of the disadvantages of the engine in javascript is that the clients will have to download around 7Mb (engine.js + viewer.js + export.js) the first time they run a report. Not a big deal because the browser will cache these files for next uses...

  • You may have javascript issues, if Stimulsoft is using outdated js functions etc... and if your browser is not supporting these deprecated functions, you may have a big problem and not be able to run any report !!! But, this is also true for APEX or any web-based solution. At some point, you have to trust the development team. Stimusoft was founded in 2002 and seems to be very active by releasing new versions regularly...

Disclaimer

I'm still in the evaluation phase of this solution, so there are probably some issues/limitations that I haven't encountered yet.

I want also to specify that I am not associated with Stimulsoft. I have no connection with them and I receive no benefit or compensation from them.

Conclusion

I've been really impressed by this solution and the way it can be easily integrated into APEX. It has a lot of advantages compared to other solutions.