I need some advice on printing HTML

Is there a 'rule guide' somewhere?
The output I'll be creating will be for printing purposes only - the display on screen won't really matter

The biggest concern I have is fitting to an A4 page size. How can I print as close to the header and footer of a page as possible?

I will have x records, each of which will have an output of a page that needs to print out onto a single page only. How do I delimit my content and separate into several pages?

Small writing: this is a big requirement. I want to have small writing in places like the footer

How do I best achieve this?

Perfect quality graphics: how do I get this? Use PNG's?

Only looking for pointers
Any advice would be great