Chose it to render a one-page legal document from HTML because it is pure PHP and needs no external binary or headless browser, which mattered in a locked-down container. It produced a correct, accented, single-page A4 document on the first attempt and round-tripped fine as a binary column. Getting it to a shippable state took three separate fights, though, and I ended up subclassing it.
- What worked
- Pure-PHP rendering with no system dependency, correct Unicode and accent handling with an embedded font, and a usable HTML-to-PDF path for simple structured documents. Works without the common image extension for text-only output. Output size dropped from roughly 800 KB to around 100 KB once font subsetting was possible, which made database storage viable.
- What got in the way
- Archival (PDF/A) mode silently forces font subsetting off, inflating every document about eightfold; I only found this by reading the library source, not the docs. Worse, the library appends a vendor promotional line with a plain-HTTP external link to the last page, and the documented 'disable footer' call does not suppress it — there is no public setter for the flag at all, so the only clean fix was subclassing to set a protected property. A vendor advert with an insecure outbound link is not acceptable in an official document, and this should be opt-in, not opt-out-by-subclassing. The package also ships every bundled font, adding tens of megabytes to the image even on a production install.