Hey there, I'll keep it short. At our company we tried different approaches for PDF generation (server side, specifically in PHP) over the years but none made us happy. HTML to PDF using print stylesheets in the front (nowadays seems like a low tech puppetteer), domPDF for HTML to PDF in the back, or FPDF/TCPDF to manually place the elements on every page on the back.
For simple invoice-like PDFs we can use anything but currently I'm facing the task of generating a document with a complex design and dynamically generated data. For this I'm using FPDI + TCPDF loading a pregenerated PDF and then filling the gaps using coordinates mostly which is really boring and cumbersome.