Conversor gratuito de Markdown para PDF

Converta Markdown em PDF com pré-visualização em tempo real. Personalize o tamanho da página e as margens. Roda inteiramente no seu navegador.

Seus dados nunca saem do seu dispositivo

Sobre o Markdown

O Markdown é uma linguagem de marcação leve que converte texto simples em HTML formatado. É amplamente usado para documentação, blogs e escrita técnica porque é fácil de ler e escrever.

Sintaxe Markdown

Perguntas frequentes

Posso usar HTML em Markdown ?

Sim. O Markdown suporta HTML inline, então você pode incorporar diretamente tags HTML no seu Markdown.

Quais tamanhos de página são suportados ?

A4, Letter, A3 e A5 são suportados. As margens são ajustáveis entre 0 e 50 milímetros.

A geração de PDF é do lado do cliente ?

Sim. Toda a conversão é feita no seu navegador. Seu Markdown nunca é enviado aos nossos servidores.

Como este conversor funciona

Uma ferramenta de Markdown para PDF baseada em navegador roda um pipeline de duas etapas. Primeiro, a fonte Markdown é analisada e transformada em HTML por um parser de Markdown em JavaScript (esta página usa o marked.js, um parser pequeno, rápido e licenciado sob MIT, mantido pela organização MarkedJS). O resultado é o HTML que você vê na pré-visualização ao vivo. Segundo, esse HTML é convertido em um PDF, esta página usa o html2pdf.js, que por sua vez envolve duas bibliotecas: o html2canvas repinta o DOM renderizado em um canvas fora da tela lendo os estilos computados, e o jsPDF escreve essa imagem do canvas em um objeto de página PDF e salva o arquivo.

As bibliotecas em si são carregadas de uma CDN pública, mas o seu Markdown é analisado e o PDF é gerado inteiramente no seu dispositivo. O navegador é o renderizador; nada sai da página.

Uma breve história do PDF

O PDF começou como uma proposta interna de 1991 de John Warnock, cofundador da Adobe. Ele queria uma forma de compartilhar documentos que parecessem iguais em toda tela, toda impressora, todo sistema operacional. O breve artigo que deu início a tudo se chamava «The Camelot Project», e a Adobe publicou a primeira especificação do PDF em 15 de junho de 1993, junto com o Adobe Acrobat 1.0. A Adobe administrou o formato por quinze anos antes de publicar o PDF 1.7 para a ISO. A ISO 32000-1:2008 tornou o PDF um padrão aberto, livremente utilizável sem licenciamento, a data mais importante para entender por que toda ferramenta, navegador e SO moderno consegue escrever PDFs hoje. A ISO 32000-2:2017 (PDF 2.0) acrescentou assinaturas digitais aprimoradas, melhor tratamento de Unicode e ganchos formais de acessibilidade. A edição corrigida de 2020 foi disponibilizada para download gratuito pela PDF Association em abril de 2023, removendo a última barreira de custo.

Um PDF é essencialmente um contêiner estruturado de objetos organizados para acesso aleatório, gráficos vetoriais (linhas e curvas de Bézier), imagens raster (tipicamente JPEG ou comprimidas com zlib), fontes embutidas (Type 1, TrueType, OpenType) e uma tabela de referências cruzadas que permite aos leitores pular para qualquer lugar sem analisar o arquivo inteiro. Há vários padrões de subconjunto do PDF que vale conhecer: PDF/A (arquivamento, ISO 19005, 2005, proíbe qualquer coisa que possa quebrar a legibilidade de longo prazo), PDF/X (produção para impressão com gerenciamento de cores travado) e PDF/UA (Universal Accessibility, ISO 14289-1, 2012, exige PDFs totalmente marcados com ordem de leitura, texto alternativo, fontes embutidas mapeadas para Unicode e o idioma do documento declarado).

Tamanhos de página

A série A vem da ISO 216 (formalizada em 1975, rastreável até a DIN 476 da Alemanha, de 1922). Todo tamanho A tem a mesma proporção √2 (≈ 1,414), o que significa que dividir ao meio a borda longa do A3 produz dois A4s sem desperdício, e dividir o A4 ao meio produz dois A5s. O A0 é exatamente 1 m². Os tamanhos norte-americanos (Letter, Legal, Tabloid) ignoram o √2 e remontam às convenções coloniais de fabricação de papel:

A margem padrão de 10 mm é mais apertada do que o padrão de 1 polegada (25,4 mm) do Microsoft Word, mas funciona bem para documentos com muito código ou densos em tabelas, onde você quer que cada coluna caiba.

A ressalva honesta: o texto não é selecionável

Como o conversor renderiza o HTML em um canvas e embute o canvas como uma imagem dentro do PDF, o texto resultante não é selecionável, não é pesquisável e não é acessível a leitores de tela. É uma imagem fiel do que o navegador desenharia, mas é uma imagem. Isso é aceitável para artefatos visuais como cartões de receita, mood boards ou folhetos impressos; é uma má escolha para documentos jurídicos, currículos que um recrutador quer escanear por palavra-chave, ou qualquer coisa que precise passar por uma auditoria de acessibilidade (WCAG / Section 508 / EN 301 549).

Se você precisa de texto selecionável ou de um PDF marcado, as ferramentas certas são o Pandoc (combinado com LaTeX ou wkhtmltopdf ou weasyprint) ou o Adobe Acrobat Pro com as suas ferramentas de marcação. O Pandoc é o padrão-ouro para a produção séria de documentos, instalável via Homebrew ou Chocolatey, roda pela linha de comando, dá controle de tipografia em nível LaTeX com notas de rodapé, bibliografias, citações, aspas inteligentes e ligaduras adequadas.

Forçando quebras de página

O html2pdf.js respeita as propriedades CSS de fragmentação para impressão. Como o Markdown permite embutir HTML inline, você pode forçar uma quebra de página colando:

<div style="break-before: page;"></div>

O alias legado page-break-before: always também funciona. Outras propriedades úteis: break-inside: avoid em uma tabela ou bloco de código impede que ele seja dividido entre páginas; orphans e widows controlam quantas linhas devem permanecer juntas no fim ou no topo de uma página.

Dicas para uma saída limpa

Markdown comum para esse tipo de saída

A sintaxe suportada é o subconjunto no estilo do GitHub, títulos, negrito e itálico, listas, tabelas, blocos de código com realce de sintaxe simples, citações, links e imagens. Notas de rodapé e diagramas Mermaid não são suportados por esta versão. Um lembrete rápido do básico:

Um lembrete da linhagem do Markdown: John Gruber e Aaron Swartz o projetaram em 2004 como «um formato de texto simples fácil de ler e fácil de escrever». O esforço de padronização do CommonMark começou em 2014, liderado por John MacFarlane (Pandoc), Jeff Atwood (Stack Overflow / Discourse) e engenheiros do GitHub, do Reddit e do Meteor. O GitHub Flavored Markdown é um superconjunto do CommonMark que acrescenta tabelas, tachado, listas de tarefas e autolinks.

Mais perguntas

Por que o texto no meu PDF está borrado?

Porque o conversor rasteriza a página na densidade de exibição do navegador. Em um monitor não Retina, a imagem resultante pode parecer suave quando ampliada, já que o canvas captura em cerca de 96 DPI, e não nos 300 DPI típicos da impressão. A solução é renderizar em densidade mais alta, o html2canvas aceita uma opção scale (tipicamente 2× para uma saída com qualidade Retina), ao custo de arquivos maiores.

Por que o meu bloco de código não tem realce de cor?

O marked.js não vem com realce de sintaxe por padrão, ele apenas envolve os blocos cercados em tags <pre><code class="language-…">. O realce de verdade precisa de uma biblioteca separada como o Prism.js ou o highlight.js, que esta versão não inclui. O PDF vai mostrar o seu código em monoespaçada, mas sem o tema de cores verde-e-vermelho que você poderia esperar do GitHub.

Posso incluir notas de rodapé ou um sumário?

As notas de rodapé (referências [^1] e definições [^1]: definitions) são um recurso de renderização do GitHub fora da spec GFM padrão e não são analisadas por esta versão. Um sumário exige ou uma extensão do Markdown (como o plugin TOC do markdown-it) ou escrever a lista de links à mão. Para os dois, o Pandoc com a sua flag --toc é a ferramenta certa.

O PDF será marcado para acessibilidade?

Não. A saída é um PDF de imagens-de-páginas sem tags semânticas, texto alternativo ou dicas de ordem de leitura, e não passaria em uma verificação de conformidade PDF/UA. Para trabalho que exige acessibilidade (formulários governamentais, documentos do setor público, qualquer coisa sujeita a WCAG / EN 301 549 / Section 508), use o Pandoc + LaTeX com um filtro de acessibilidade, as ferramentas de marcação do Adobe Acrobat Pro, ou um pipeline WeasyPrint do lado do servidor.

Algo é enviado a um servidor?

Não. O texto nunca sai do seu navegador. O Marked.js analisa o Markdown localmente, o html2canvas pinta em um canvas fora da tela, o jsPDF monta o objeto PDF, e o navegador o salva. As bibliotecas em si carregam de uma CDN pública com verificações de integridade de sub-recursos; elas são buscadas uma vez e depois armazenadas em cache. Uma vez que a página é carregada, ela funciona offline.

Ferramentas relacionadas