The open-source solutions we tried before were annoying (Used LaTeX, wkhtmltopdf, weasyprint in production and evaluated several more). To avoid that pain we asked some commercial PDF generator software for a quote, but their per document pricing was insane.