I see always have to use a button or a workflow, how can you print report just after creating an object and get attached to it with out the user use a button?,
For example:
Create a Sale Order, Validate it and when the Sale Order creates the picking out move attach the Output picking pdf report to output picking record?