For your first problem, I'll advocate
PDFLib, which will do the text blocks for you (and allow you to wrap text within them). Text blocks also allow you to build rudimentary tables quite easily (that's how I built table support into
AxPoint).
Unfortunately it can't really help you with converting a design to code - for that I guess you'd have to build some sort of description language like AxPoint (perhaps the code will help). In fact the AxPoint code is probably exactly what you need, modulo some fiddling around with page sizes and fonts. Then just describe your report in XML and SVG...