Proprint for Progress

Hello.

I have made new utility for printing professional printouts from Progress. This utility is based on jasperrepors and made in java. Also I have created progress running procedures for using it. I think it will be very usefull for progress users all over the world. Output formats are: pdf, xls (do not need MSOffice installed!), txt, rtf, xml and possibility to output to the network priner.

Also it is possible to make templates with iReport and it is free ...


How to create vertical barcode with proprint?

One of the problem of jasper reports is rotating images / barcodes. The solution is very simple: all you need is to create an image, rotate is as you need and post it to the report as parameter.

I create an image of barcode with itext. There are several types of parcode I support in proprint utility:
com.lowagie.text.pdf.Barcode128;
com.lowagie.text.pdf.Barcode39;
com.lowagie.text.pdf.BarcodeEAN;
com.lowagie.text.pdf.BarcodeInter25;
com.lowagie.text.pdf.BarcodePostnet;

After creation on image rotate is very simple with java ... But how to post is as paramter? You need to define new parameter with iReport as java.lang.Object, then drag and drop an image object to the right position of template and define size of it. Image object must be defined as net.sf.jasperreports.engine.JRRenderable.

Progress usage is very simple too: define parameter "barcode" like:
run add-param-attr("barcode", "0123456789", "type=barcode128,rotate=V").
Types I support:
barcode128 -> com.lowagie.text.pdf.Barcode128;
barcode39 -> com.lowagie.text.pdf.Barcode39;
barcodeinter25 -> com.lowagie.text.pdf.BarcodeInter25;
barcodepostnet -> com.lowagie.text.pdf.BarcodePostnet
and default is: com.lowagie.text.pdf.BarcodeEAN : codeEAN.EAN13
rotate=V means vertical

Then create Parameter "barcode" as Object and drop an image on the title band define is as net.sf.jasperreports.engine.JRRenderable and in then "Image Expression" box type $P{barcode}

Thats it.
BR,
Sergei.


One of the usage of proprint

Async model is very poular today, so I desided to use it too. First of all define a queue table where to post tasks for printing. The printing procedure I separate to the client side and the server side. On client I gets all parameters, encode it and save to the queue pluss save a procedure name what the server process is have to run to get an xml and the printer name where to print it (it could be defined in the separate table). On server all printers are installed and running one process which checks the queue table and running the proprint with all parameters he gets.

Advantages of this model is:
No need install all printers for any client, all you need is define it on server.

Another way of using async model is for sending email with ready report. Proprint is supporting smpt, all you need is to define address(es), subject and body and format of your report. Its working on any OS system.

Thats it,
BR
Sergei.