The way I see it, you have a few options.
The fist of wich can be used in conjuction with the second
-You can use my ExcelWriter Module, to create an Excel file and then shel it to print ob a PDF Batch printer
-You can use the RTF Dll to create a formated report, and use it's printing capabilities to print to a PDF Batch printer
Cristal reports as far as I Know, as the possibility to be scripted grom VB, so it sould be a matter of Parsing the code, as I have done with my ExcelWriter...