Nice blog post showing how to do server side printing of reports without user interaction.
Here are the steps covered in the post:
Steps :
(1). Create a servlet which can be invoked from a simple Java Program or any stored procedure.
(2).In this servlet, run the report through ReportEngine API and generate a temp pdf of report
(3). Print this generated pdf through Java and delete it.