Here is an HTML5 client-side solution to creating PDFs called jsPDF.
It comes with a number of features, including:
- Add images.
- Add different font faces and change font sizes.
- Convert HTML to PDF.
- Add multiple pages.
- Draw shapes.
- Convert page layout from portrait to landscape.
- Split strings to fit text on the page.
Try it out on your next project: jsPDF