Why not use online API? There are plenty of them available and they do the work well, which let you worry about your core work, not how to render a PDF correctly :)
You mention something "free". It depends on your usage, but most services offer free conversions to start with, ranging from 50 to 250 (and even more). Maybe it would be enough for you?
All you'd have to do then is a basic POST request to the service with your HTML data (or link), and you'll get a PDF in response.
Here are a list of API to convert HTML to PDF (not exhaustive):
- PDFShift
- HTML2PdfRocket
- Web2PDFConvert
- PDFonline
- ... (and many more :) )