I got tired of coding KRN only, so I went and implemented a QPaintDevice that produces PDF output :-)
Using it, you can use the exact same code used for screen drawing (or postscript printing) and have it generte a nifty PDF file.
However, that will only be partly free software because it requires PDFLib which has the Aladdin license.
I will probably Aladdin it too, and who knows, maybe some Qt comercial deeloper will pay me $10 to use it ;-)
It was amazingly little work (it's over 60% done already). QPaintDevices rule. I should do a libart one... as soon as I understand how that thing works, or find some doc.