If if TCPDF doesn't suit the job and you haven't already found it, I can recommend
Apache FOP.
Very fine grained control over the document. It's a formatting object processor. You can build your doc as XML or (X)HTML and apply XSL stylesheets to produce a PDF. You can even replicate most CSS styles.
I like it a lot but it does come at a price ... java. If you can live with the overhead, exec('fop') will do the trick.
Also, it's released under the Apache license.