If you ever revisit alternatives, you might want to try YakPDF
It gives you:
- HTML → PDF without any browser engine
- PDF compression & optimization
- Simple API for manual PDF generation
- Text extraction
- No native dependencies and cheaper than Aspose
It’s not a full drop-in replacement for every Aspose feature, but it covers the core workflow you mentioned and is much lighter to integrate.
Puppeteer and Playwright are the main open-source options nowadays, both solid for HTML → PDF once your print CSS is sorted.
Don’t forget proper page breaks (break-before/after/inside) — e.g. break-after: page works in Chromium, while always doesn’t. For trickier pagination you can look at Paged.js, and I’d test layouts in Chrome/Edge before automating.
It handled most of the rendering issues out of the box compared to headless browser setups.