scorpioxy wroteNot exactly what you asked for, but why not consider using pdfs?
Use a pdf form as a template and then fill it in programmatically and then print it. From experience, this gives you almost complete control over the layout minus the technical worries.
it sounds a good idea, can you explain how to do that, i mean what class do you use to manipulate PDF files ?