After quite a long time without any bigger enhancements i had a little time to implement a new major feature in PL-jrxml2pdf.
You can now use variables e.g. for the calculation of aggregates.
Variables can be used either at report-level or at subdataset-level (e.g. for the usage in tables).
For reset-type and increment-type you can use
- Group (along with the name of the group)
- None (which means "for every record)
As calculation-type the following options are supported:
Here's a screenshot of an example-report-output
Another new feature in the scope of variables is the possibility to "take over" values from a subreport and use it in the main-report.
New chart-type "Stacked-area-chart"
The gallery of possible charts now includes stacked-area-charts.
As always, everything is available on the download-page
Today i released a new version of PL-jrxml2pdf. As a new major feature it includes a first version of the JRXML-generator, which allows the generation of a jrxml-report-definition from an existing APEX-page. Its included in the APEX-part of PL-jrxml2pdf. I'm looking forward for your comments on the new generator.
Additional enhancements in the new version
- Added support for header-cells for crosstabs
- Added new system parameters to allow the usage of custom fonts for standard font-name
- Various performance-enhancements in AS_PDF3_MOD
Today i released the first version of the JRXML-Generator and gave it to certain testers.
The tool currently supports the following region-types:
- HTML-Regions with page-items
- Tabular forms
- Interactive reports (with conditions)
Here is an example of a APEX-page
Its based on DEMO_CUSTOMERS and DEMO_ORDERS.
And this is the result from the generator
I hope to release the generator to the public at the end of the month.
After getting the huge number of 2 (in words two) responses to my idea of writing a JRXML-generator i decided that this is enough to try it.
And 100% of the responses liked the idea to be able to create a report-definition from an APEX-page.
So i build a proof of concept and now have published it on apex.oracle.com
The whole thing is template based, so you can define different templates for different areas of the report.
On the tab JRXML-Generator you can start the generation of a new report. Here you choose for which page the report-definition should be generated. Currently you should use only the pages from the application "Report-generator-examples".To have a look at the layout of these pages you can use this link.
In the following steps you can choose what regions you want to use and which template should be used for the different areas of the report. In the last step the report-definition is generated and stored in the PL-jrxml2pdf-report-table. You are directed to the report-definition-page and can then run the report to see the result. Be sure that you provide the parameter-values if you have generated the report from a detail-page (e.g. P3_CUSTOMER_ID with value 1 if you choose the page Edit Customer).
At the moment this is only a proof of concept, so only certain region and item-types are supported, and also a lot of features is missing. But in my opinion it shows the idea behind.
So, feel free to play around with the generator and templates, i'm curious about the feedback.
Quite shortly after the last release, but i had a little time to implement some new feature in PL-jrxml2pdf and released a new version on the download-page.
Running two or more reports into one PDF
This was something i already wanted to introduce in an earlier version, but never had the time to. You can now call PL-jrxml2pdf with not just one report-definitions, but as many as you want to. The reports are run one after each other, but the important thing is that they all are concatenated into one single PDF-document. And of course the different reports can have different page-formats/sizes.
You can also control whether the page-numbering starts with 1 for each report or if the numbers are continous over all reports.
Check the new overloaded FK_RUN-function which takes an array of report-names as parameter.
By giving values for the internal parameters $$TITLE$$, $$AUTHOR$$, $$SUBJECT$$, $$KEYWORDS$$ you can fill the PDF-metadata-properties title, author, subject and keywords which are accessible in the properties of the generated pdf.
I added two more chart-types, stacked barcharts and stacked 3D-barcharts.
Today i released a new version of PL-jrxml2pdf on the download-page.
The release contains two new major features.
You can now integrate charts in your reports. Currently the following chart-types are supported
Here's a screenshot of a report containing all of them.
Text (both static text and textfields) can now be rotated.
Enhancements and bugs
There are also some smaller enhancements and several bugfixes included. See the package-documentation and version-history for details.
I started implementing charts in PL-jrxml2pdf and the next release will have support for barcharts and piecharts.
Here a screenshot of the current version:
Also, it is now possible to have rotated text.
You can try out the actual version on apex.oracle.com.
I hope to publish a release until the end of this year.
Last week i was in contact with a developer who wanted to use PL-jrxml2pdf in his project and was quite disappointed that there is currently no support for charts.
So i had a look at what chart-capabilities Jasper-reports has and if something similar could be implemented using pure PL/SQL. I did some first steps and my answer is, it is possible, but a lot of work. And there will be some restrictions due to the restrictions of the PDF-version used (there is no support for transparency in PDF 1.3).
But as there are currently no other features which i want to introduce into PL-jrxml2pdf i'll give it a try. So, i started developing a pure PL/SQL-charting engine, which will work together with the PL-jrxml2pdf-reports-generator when finished.
Here a screenshot of my first test-chart build with my package: