Depois de muito “googlear” uma maneira de converter páginas HTML em arquivo PDF, muitos dos resultados encontrados no google apontam que a melhor biblioteca a ser usada é a dompdf. Está certo que, se reparar bem, a maioria dos sites que indicam essa biblioteca datam de 2008 ou menos…

Se essa era a “melhor”, resolvi testá-la.

Me atendeu razoavelmente bem na sua tarefa principal “Html para PDF”.  Porém, se você quer formatar o PDF usando CSS, o suporte dessa biblioteca é horrendo. Muitos atributos não funcionam, e os que funcionam, hora só funcionam quando define-se a classe no próprio html (sem usar uma folha externa), hora só funcionam quando colocados inline ( usando o atributo style na própria tag html).

Até aí, ainda dá pra fazer um acerto aqui, e alí, e dá pra usar….

Porém um bug GRAVE, me fez obrigado abandonar essa bilioteca:  Se houver uma “table” que venha ocupar mais de uma página quando gerando o PDF, é levantada uma exceção: Uncaught exception ‘DOMPDF_Internal_Exception’ with message ‘Frame not found in cellmap

Depois de me decepcionar com o dompdf, busquei alguma outra solução. Para minha sorte, encontrei um post do Diogo Besson “mPDF PHP e PDF” que fala sobre a biblioteca mPDF.

Simplesmente FANTÁSTICA!!!!

Possui tudo que a dompdf possui, e muito mais….. tem suporte até para CSS 3!! A documentação no site oficial então, nem se fala… completíssima. É de longe…. bem melhor que a dompdf, tanto na perfeição dos PDFs gerados, quanto na possibilidade de customização dos mesmos.

Dêem uma lida no post do Diego Besson, lá ele já colocou alguns exemplos de uso, dos quais prefiro não repetir aqui.

Adotei a mPDF para todos os projeto “PHP” em que trabalho, e recomendo fortemente seu uso.