Você conhece ou já viu o puppeeter?
Com ele você consegue gerar o pdf usando links ou passando o proprio html em string.
Não sei se dessa forma seria viavel, eu por exemplo to fazendo uma api que gera um orçamento, fiz todo orçamento em html puro e passo para ele, assim ele gera o html identico como se eu tivesse abrindo o html no navegador