Converter HTML para PDF

Aqui você converte HTML para PDF de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. O arquivo viaja criptografado até o nosso servidor, é convertido lá e é apagado assim que o trabalho termina.

  • Onde roda No nosso servidor, porque um navegador não roda o programa que isto exige.
  • Reconstruído PDF funciona de um jeito diferente de HTML. Não é a degradação gradual de um codec com perda: o que PDF consegue expressar é reproduzido fielmente, e o que não tem equivalente ali não sobrevive de jeito nenhum.
  • Limite de tamanho Até 25 MB por arquivo, de graça e sem conta.
  • Vale saber A diagramação é reproduzida com fontes substitutas de métrica equivalente. Macros, comentários e o controle de alterações não vão junto.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

O que existe de fato dentro de um arquivo .html

Menos do que se imagina. Um documento HTML é a estrutura e as palavras: títulos, parágrafos, tabelas e referências a todo o resto. A folha de estilo que faz aquilo parecer alguma coisa costuma ser outro arquivo, indicado por endereço. As fontes, as imagens e os scripts também.

Quando você abre esse arquivo num navegador, ele busca tudo isso e monta a página na sua frente — é por isso que parece completa e é por isso que o arquivo dá a impressão de conter uma página web. Não contém. Entregue o mesmo arquivo a algo que não pode buscar nada, e o que sobra é o texto, na fonte padrão do navegador, numa coluna só.

Por que nada aqui vai atrás das peças que faltam

Tecnicamente seria possível seguir esses endereços e baixar a folha de estilo, as fontes e as imagens. Não fazemos, e a razão merece ser dita sem rodeio: um conversor que busca URLs encontradas dentro de arquivos de usuário é uma máquina que qualquer pessoa que descubra isso vai apontar com prazer para endereços internos.

O servidor de conversão daqui não tem rota nenhuma para a internet. É a mesma propriedade que garante que o seu documento não pode ser mandado para lugar nenhum, e ela necessariamente faz de uma folha de estilo ligada um link para o nada. As duas coisas são a mesma decisão vista de lados diferentes.

Como montar um arquivo que converte bem

Autossuficiente é o requisito inteiro. Ponha o CSS num bloco `<style>` dentro do documento em vez de ligar por fora. Embuta as imagens como data URI — base64 dentro do atributo `src` — em vez de apontar para arquivos. Use fontes que existam num sistema comum, porque uma fonte buscada de um serviço na web não vai chegar.

Uma enorme quantidade de documento gerado já funciona assim: nota fiscal de sistema contábil, relatório de ferramenta de análise, exportação de aplicativo de anotações e a maioria dos modelos de e-mail em HTML são montados autossuficientes justamente para sobreviverem a ser movidos. Esses convertem com a diagramação inteira. Uma página salva com «Salvar página como…» no navegador quase nunca converte, porque aquilo produz um arquivo HTML mais uma pasta de recursos ao lado.

Para uma página web de verdade, use o seu navegador

Se o objetivo é guardar cópia de uma página que você está vendo — uma matéria, um comprovante, uma confirmação de reserva, uma página que pode sumir —, feche esta aba e aperte Ctrl+P, ou Cmd+P no Mac, e escolha «Salvar como PDF».

O navegador já fez a parte difícil. Toda folha de estilo carregada, toda fonte resolvida, toda imagem buscada, todo script executado. Ele está produzindo um PDF a partir da página pronta, e não de um arquivo que descreve uma — e nenhum conversor externo empata com isso, porque nenhum conversor externo tem a página montada. Esta página existe para os arquivos HTML que você já tem; para as páginas que você está olhando, a ferramenta melhor já está aberta.

Como a página vai ser diagramada

O documento é composto em páginas de tamanho padrão, com a tipografia padrão do conversor, a menos que o arquivo traga estilos próprios. Não existe janela de navegador para responder, então uma diagramação feita para tela está sendo submetida a uma pergunta para a qual não foi desenhada.

O que usa estilos de impressão no CSS vai usá-los, que é o mecanismo que um documento bem construído já tem exatamente para isto. O que depende de JavaScript para se organizar não vai, porque nada é executado.

Links, e se eles continuam funcionando

Links de texto são preservados como links no PDF, então uma URL no documento continua clicável. Âncoras internas apontando para outras partes do mesmo documento também funcionam.

Links para arquivos que estavam ao lado do HTML vão apontar para endereços que não resolvem mais. Isso não é defeito da conversão; é o que acontece quando um documento que dependia dos vizinhos é levado sozinho.

Tabelas mais largas que a página

Tela rola para o lado e página não, então uma tabela larga precisa ser resolvida de algum jeito. As colunas se comprimem e, passada certa largura, o texto fica pequeno demais para ler enquanto a tabela continua tecnicamente completa.

Se o documento é sobretudo uma tabela larga, decida antes de converter e não depois: reduza as colunas, ou defina página deitada no CSS, que a conversão respeita.

E-mails e relatórios salvos como HTML

São os arquivos que convertem melhor, e não por acaso. Nota fiscal de sistema contábil, relatório de análise, exportação de aplicativo de anotações e a maioria dos modelos de e-mail em HTML são montados autossuficientes para sobreviverem a um encaminhamento.

Tudo de que precisam está dentro do arquivo único, que é precisamente a propriedade que esta conversão exige. Se o seu HTML veio de um desses, conte com um resultado com a cara certa.

Scripts não rodam, e isso é proposital

Nada dentro do arquivo é executado. Uma página que monta o próprio conteúdo com JavaScript converte para o que quer que a marcação diga antes de o script rodar, o que muitas vezes é pouquíssimo.

Isso é uma propriedade de segurança, não uma limitação a contornar: executar código encontrado dentro do arquivo enviado por alguém não é coisa que se faça para salvar uma diagramação. Se o conteúdo só existe depois de um script rodar, imprima pelo seu navegador.

Como converter HTML para PDF

  1. Solte o seu arquivo HTML nesta página, ou clique para escolher um.
  2. Escolha PDF como destino e comece a conversão.
  3. Baixe o arquivo PDF pronto.

HTML ou PDF: o que muda

HTML comparado com PDF
HTMLPDF
Nome completoHyperText Markup LanguagePortable Document Format
Extensão do arquivo.html, .htm.pdf
Tipo de mídiatext/htmlapplication/pdf
CompressãoUm ou outro, conforme a configuração
Publicado pela primeira vez1993
Publicado porWHATWGAdobe
EspecificaçãoHTML Living StandardISO 32000-2
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Cor que consegue descreverRGB, CMYK, tons de cinza
Abre no navegadorTodos os navegadoresTodos os navegadores
Considerado no lugarMDDOCX

Abrir o resultado

Os programas de sempre não se cruzam: HTML abre em Visual Studio Code e Google Chrome, e PDF em Adobe Acrobat, Preview e LibreOffice Draw, então quem receber o resultado precisa de algum do segundo grupo.

Para que serve cada formato

Os dois miram trabalhos diferentes: HTML em a web e a edição, PDF em entregar um arquivo pronto, a impressão e o arquivamento. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.

HTML é o formato da WHATWG. Está descrito em HTML Living Standard, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

PDF vem da Adobe é de 1993, descrito em ISO 32000-2. Adobe Acrobat, Preview e LibreOffice Draw leem o formato.

De HTML para PDF: perguntas frequentes

Meu arquivo HTML é enviado para algum lugar?

É: esta conversão precisa de um software que não roda num navegador. O arquivo viaja criptografado até o nosso servidor, é apagado assim que o trabalho termina e o resultado, depois de 60 minutos. O trabalho é feito por LibreOffice, o pacote de escritório completo, sem interface.

Converter HTML para PDF é grátis?

É, até 100 conversões por dia para arquivos de até 25 MB. Esse único limite existe porque esta conversão roda num servidor que nós pagamos. No resto aqui não há nada limitado, e marca d’água não existe em caso nenhum. O limite existe porque LibreOffice precisa de uma máquina nossa para rodar.

Perde qualidade ao converter HTML para PDF?

HTML e PDF descrevem o conteúdo de maneiras radicalmente diferentes. A conversão é, portanto, uma reconstrução e não uma cópia: fiel, mas não idêntica byte a byte. A diagramação é reproduzida com fontes substitutas de métrica equivalente. Macros, comentários e o controle de alterações não vão junto.

Preciso instalar alguma coisa para abrir um arquivo PDF?

Não. A conversão roda do nosso lado e entrega um arquivo PDF pronto; para abri-lo você precisa do programa com que o seu aparelho normalmente exibe Portable Document Format.

Mais sobre esses formatos

De onde vêm estes números

O que esta página afirma sobre HTML e PDF pode ser conferido, e estes são os documentos que resolvem a questão.