If you're looking for a way to do this programmatically, I'd recommend[1] DocRaptor (http://docraptor.com/). It uses Prince to do the conversion. It's not free, though.
[1] Full disclosure: I know the guys behind DocRaptor. It's probably a great service without my bias, but there's almost definitely some bias.