Sem upload, 100% local, sem conta

HTML para PDF

Cole HTML, escolha um tamanho de página e baixe um PDF; tudo é renderizado no seu navegador.

Como o HTML para PDF funciona

O HTML to PDF pega a marcação HTML que você cola no editor, higieniza-a com DOMPurify para remover scripts e atributos não seguros, renderiza-a em um canvas fora da tela usando html2canvas e codifica o resultado em um PDF com jsPDF. Todo o pipeline executa dentro da aba do seu navegador; nenhum código HTML ou saída renderizada é transmitida a qualquer servidor. Isso o torna adequado para converter trechos de HTML contendo dados pessoais que você não gostaria de colar em um serviço online.

Entenda o formato de saída antes de contar com ele. As páginas do PDF são imagens rasterizadas, não texto vetorial. O texto na saída não é selecionável, não é pesquisável e não pode ser reformatado. Recursos externos como imagens referenciadas por URL são bloqueados pela política CORS do navegador e não carregarão. Estilos inline e CSS incorporado funcionam, mas layouts complexos com fontes web personalizadas ou CSS grid avançado podem não ser renderizados com precisão. Para conversão fiel de páginas web completas, um navegador headless rodando no servidor é a ferramenta mais adequada.

Como usar o HTML para PDF, passo a passo

  1. Cole sua marcação HTML na área do editor.
  2. Ajuste opcionalmente o tamanho de página (A4 ou Letter) e a orientação.
  3. Clique em converter; o DOMPurify higieniza o HTML e o html2canvas o renderiza.
  4. Aguarde o jsPDF codificar a saída do canvas como páginas de PDF.
  5. Baixe o PDF.

Casos de uso comuns

  • Você gerou uma fatura HTML no seu navegador a partir de um modelo local e quer uma cópia em PDF sem enviá-la a um serviço de conversão.
  • Um relatório HTML simples criado a partir de dados de API precisa ser salvo como PDF para arquivamento; cole o HTML e converta localmente.
  • Você escreveu um modelo de e-mail HTML estilizado e quer pré-visualizar como ficaria impresso como PDF.
  • Um desenvolvedor precisa de um PDF rápido a partir de um fragmento HTML durante testes, sem configurar um navegador headless no servidor.

Perguntas frequentes

Por que o texto no PDF de saída não é selecionável?

O pipeline de conversão renderiza o HTML em um bitmap de canvas usando html2canvas e depois codifica esse bitmap como dados de imagem dentro das páginas do PDF com jsPDF. A saída é uma imagem rasterizada, não uma camada de texto. Se você precisar de um PDF com texto selecionável, seria necessário um navegador headless no servidor como Puppeteer, que esta ferramenta evita intencionalmente para manter o processamento local.

Por que as imagens no meu HTML não aparecem no PDF?

Imagens carregadas de URLs externas estão sujeitas à política CORS do navegador. Se o servidor de imagens não enviar cabeçalhos CORS permissivos, o html2canvas não pode ler os dados de pixel e o slot de imagem é renderizado em branco. Imagens inline codificadas em base64 diretamente no HTML ou imagens da mesma origem funcionam sem essa restrição.

O HTML que colo é enviado para um servidor?

Não. O HTML permanece na memória do navegador durante todo o processo. O DOMPurify o higieniza no lado do cliente, o html2canvas o renderiza no lado do cliente e o jsPDF codifica o PDF no lado do cliente. Nada sai da aba do navegador.

O que a higienização do DOMPurify remove?

O DOMPurify remove tags de script, atributos de manipuladores de eventos como onclick e onload, URLs javascript: e outras construções que poderiam executar código. Ele preserva a marcação estrutural e de estilo, de modo que a saída renderizada parece igual, mas é segura para inserir em um contexto de documento.

Posso converter uma URL de página web completa em vez de colar HTML?

Não. A ferramenta funciona com marcação HTML que você cola diretamente. Carregar uma URL exigiria buscar a página, o que esbarra em restrições CORS para a maioria dos sites e envolveria uma solicitação de rede que tira a operação do modelo de processamento local.