Seu pipeline de PDF roda no wkhtmltopdf, e funcionou bem por anos — até o projeto ser arquivado. O repositório se tornou somente leitura em 2 de janeiro de 2023, então nenhum novo patch de segurança está a caminho, e o antigo mecanismo WebKit que ele utiliza renderiza o CSS moderno (flexbox, grid, propriedades personalizadas) de forma imprevisível. Se seus relatórios agora saem desalinhados, ou você não consegue mais justificar rodar um binário sem manutenção em um servidor de produção, você precisa de uma alternativa com suporte. No Windows, essa alternativa é o Total HTML Converter X.
Resposta rápida: para HTML simples e estático, o wkhtmltopdf ainda funciona e continua gratuito, mas seu projeto está arquivado — sem patches de segurança, e o CSS moderno renderiza de forma imprevisível. Para produção com manutenção em servidores Windows, o Total HTML Converter X oferece renderização de CSS atualizada, conversão de URLs ao vivo e arquivos para PDF, DOC, TIFF e JPEG, uma linha de comando silenciosa e uma API COM/ActiveX chamável a partir de ASP, PHP e .NET.
| Total HTML Converter X | wkhtmltopdf | |
|---|---|---|
| Mantido ativamente | Sim — produto comercial com atualizações contínuas | Não — repositório arquivado e somente leitura desde 2 de janeiro de 2023 |
| Mecanismo de renderização | Mecanismo atual com suporte completo a CSS 1/2, quebras de página, ajuste à largura, além de um mecanismo de renderização Chrome opcional | Build antigo do WebKit; o CSS moderno (flexbox, grid) frequentemente renderiza de forma incorreta, sem novas correções |
| Suporte a JavaScript | Sim — via o mecanismo de renderização Chrome (-engine chrome) | Limitado ao mecanismo WebKit congelado |
| Entrada de origem | Arquivos HTML/MHT locais e URLs ao vivo, em lote | Arquivos locais e URLs |
| Formatos de saída | PDF, DOC, RTF, XLS, TIFF, JPG, PNG, TXT | Somente PDF e imagem (PNG, JPG) |
| Linha de comando | Sim — binário silencioso, sem interface gráfica, sem caixas de diálogo, sem pop-ups | Sim — ferramenta de linha de comando |
| API de servidor | ActiveX/COM chamável a partir de ASP, PHP, .NET, Python, Ruby, Java | Bindings e wrappers de terceiros, mantidos pela comunidade |
| Segurança do PDF | Assinaturas digitais (X.509 PFX), criptografia AES, senhas, sinalizadores de permissão | Básica; sem assinatura |
| Licença | Comercial, licença de pagamento único a partir de $750, teste gratuito de 30 dias | Gratuito, código aberto |
| Sistema operacional | Windows 7/8/10/11 e Windows Server (IIS, Docker, Citrix, Wine) | Windows, Linux, macOS |
| Suporte | Suporte de desenvolvedores da CoolUtils | Somente comunidade; projeto arquivado |
Reconhecimento onde é devido: o wkhtmltopdf conquistou seu lugar. É gratuito e de código aberto, roda a partir de um único comando, e se integra facilmente a qualquer linguagem capaz de chamar um processo externo. Por uma década, foi a resposta padrão para a pergunta renderizar este HTML em PDF em um servidor, e sua base instalada é enorme — inúmeros pipelines de faturamento, relatórios e exportação ainda o chamam todos os dias. Para HTML simples e estático — uma tabela, um recibo estilizado, um relatório simples — ele ainda produz um PDF perfeitamente aceitável sem custo algum.
Se seus modelos são simples e não mudam, e você aceita rodar um binário arquivado, o wkhtmltopdf não está quebrado. O problema é tudo que mudou depois que ele parou: CSS mais novo, TLS mais novo, expectativas de segurança mais novas.
Em um servidor Windows, o Total HTML Converter X é o substituto mais direto: mantém o fluxo de trabalho por linha de comando que você já usa em seus scripts, adiciona um mecanismo de renderização com manutenção, e estende a saída além do PDF. Você troca uma chamada de CLI por outra e ganha assinatura, criptografia e formatos extras. Se você roda em Linux ou macOS, o Total HTML Converter X não ajuda — ele é exclusivo para Windows — e o caminho com manutenção nesse caso é o Chrome ou Chromium headless, diretamente ou por meio de um wrapper.
Duas maneiras: chamar o binário de linha de comando externamente, ou chamar o objeto ActiveX/COM dentro do próprio processo. Chamar o binário externamente é a menor mudança em relação a um pipeline com wkhtmltopdf — você troca o executável e a sintaxe dos parâmetros:
<?php
// Converte um arquivo HTML local para PDF a partir do PHP no Windows
exec('HtmlConverter.exe C:\www\invoice.html C:\pdf\invoice.pdf -c pdf -log C:\log\html.txt');
?>
O parâmetro -c pdf define o formato de destino; adicione -combine para mesclar vários arquivos em um único PDF, ou -pfxfile e -pfxpass para assinar o resultado. Como o binário roda em silêncio, nenhuma caixa de diálogo bloqueia a requisição web. A partir do ASP clássico ou do .NET, você pode, em vez disso, criar o objeto ActiveX/COM incluído e executar a mesma conversão dentro do próprio processo, sem iniciar um processo filho para cada página.
Sim — informe ao conversor uma URL no lugar de um caminho de arquivo, e ele busca e renderiza a página ao vivo:
HtmlConverter.exe http://www.example.com C:\pdf\page.pdf -c pdf -log C:\log\html.txt
Este é o substituto direto para uma chamada do wkhtmltopdf do tipo URL para PDF. O mesmo padrão funciona para imagens — use -c jpg ou -c tiff para rasterizar a página em vez de gerar um PDF. Uma máscara com curinga ou um arquivo de texto -list permite que um único comando processe um lote inteiro de URLs ou arquivos locais.
O Total HTML Converter X é licenciado por servidor a partir de $750, e o teste de 30 dias é totalmente funcional e sem limitações — rode-o nas páginas que o seu pipeline atual renderiza pior e compare os PDFs lado a lado. O mesmo mecanismo também está disponível como o Total HTML Converter para desktop, quando você precisar de uma interface gráfica para tarefas pontuais.
Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.