I had a frustrating experience building the invoicing module for one of our applications so I built a designer for PDF templates that can be filled with content by API calls.
You can check it out here:
https://getpdfapi.com
Any feedback will be very much appreciated!