Você deve dar uma olhada em wkhtmltopdf , uma ferramenta gratuita que, a julgar pela lista de recursos avançados anunciados em sua página de manual , deve pelo menos aproximadamente satisfazê-lo:
Printing more then one HTML document into a PDF file.
Running without an X11 server.
Adding a document outline to the PDF file.
Adding headers and footers to the PDF file.
Generating a table of contents.
Adding links in the generated PDF file.
Printing using the screen media-type.
Disabling the smart shrink feature of webkit.