Como converter HTML em PDF

Guia de HTML para PDF e gerador de CSS de impressão

Como converter HTML em PDF: CSS de impressão, window.print() | We.Inc

Transforme HTML em um PDF limpo: salve pela janela de impressão, escreva CSS de impressão com @page e break-inside, chame window.print() ou renderize em um servidor. Com um gerador de CSS de impressão.

O jeito mais rápido de transformar uma página web em PDF é a própria janela de impressão do navegador: abra, escolha o destino PDF e salve. Para controlar a aparência desse PDF, adicione CSS de impressão com @media print e @page para o tamanho do papel e as margens. Para PDFs gerados automaticamente, renderize a página com um navegador headless como Puppeteer ou Playwright.

Formas de gerar um PDF a partir de HTML

Todos os métodos desta página acabam pedindo a um motor de navegador que diagrame a página no papel, então um bom CSS de impressão melhora todos eles. Monte abaixo uma folha de estilos de impressão inicial e depois escolha o caminho de conversão que combina com quem aperta o botão: uma pessoa, a sua página ou um servidor.

Perguntas frequentes

Como salvo uma página web como PDF sem nenhuma ferramenta?

Abra a janela de impressão do navegador pelo menu ou pelo atalho de teclado e escolha a opção PDF na lista de destino ou de impressoras. O nome exato depende do navegador e do sistema operacional.

Como adiciono um botão Baixar PDF à minha página?

A versão mais simples e honesta é um botão que chama window.print(), que abre a mesma janela, onde o visitante pode salvar como PDF. Não precisa de biblioteca, mantém o texto selecionável e usa o seu CSS de impressão.

Como evito que uma tabela se divida entre duas páginas?

Adicione break-inside: avoid à tabela, ou às linhas se a tabela for longa. O antigo page-break-inside: avoid é tratado como alias, então continua funcionando em folhas de estilo mais antigas.

Posso definir o tamanho do papel pelo CSS?

Sim. @page { size: A4 portrait; margin: 15mm; } define o tamanho e as margens da caixa da página. O Puppeteer só usa isso quando preferCSSPageSize é true; caso contrário, quem decide é a própria opção format dele, Letter por padrão.

Por que o html2pdf.js gera PDFs borrados ou enormes?

O README dele explica que o conteúdo é renderizado como imagem e essa imagem é colocada no PDF, então o texto não é selecionável nem pesquisável e os arquivos ficam grandes. Use a impressão ou um navegador headless quando o texto importar.

O CSS de impressão é a base

Quando renderizar em um servidor

Referência de CSS de impressão

Regras e propriedades que moldam as páginas impressas

Exemplos de impressão para copiar

Um botão de imprimir ou salvar como PDF

window.print() abre a janela de impressão e bloqueia a página até ela fechar. A classe mantém o próprio botão fora do papel.

Layout de fatura que começa cada fatura em uma nova página

break-after: page depois de cada fatura gera uma fatura por folha quando várias são impressas juntas.

Preparar a página logo antes de imprimir

beforeprint e afterprint disparam em volta da janela, o que é útil para expandir seções recolhidas.

PDF no servidor com Puppeteer

preferCSSPageSize faz o tamanho do seu @page prevalecer sobre a opção format; printBackground mantém os fundos.

Gerador de CSS de impressão

Tamanho do papel

Orientação

Retrato

Paisagem

Margem: {n} mm

Esconder navegação, rodapé e barras laterais

Manter tabelas, figuras e código em uma página

Imprimir os endereços depois dos links

Manter as cores de fundo

Copiar CSS

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site