Por que os acentos sumem quando você converte para PDF
Isso acontece porque o PDF, por padrão, não embute os glifos certos nas fontes usadas. O Acrobat ou qualquer conversor pega uma letra como "a" e substitui por uma variante que não carrega o acento. O resultado é um texto com falhas visíveis, especialmente em documentos que precisam de integridade tipográfica, como contratos, artigos científicos ou manuais técnicos.
Configurando corretamente a acentuação gráfica em pdf
O processo mais confiável começa na fonte. Use fontes que tenham variação de acentuação completa — Arial, Times New Roman, Roboto. Fuja de fontes customizadas que não foram compiladas com conjuntos de caracteres latino expandido (Latin Extended-A ou B). Se estiver usando LaTeX, certifique-se de carregar o pacote inputenc com utf8 e o fontenc com t1. Em Markdown com Pandoc, o comando --pdf-engine=xelatex e a opção --font-family="Liberation Serif" costumam resolver sem dor de cabeça. No Word, vá em Arquivo > Opções > Salvar > E embutir os glifos usados no documento. Marque a caixa de embutir apenas os caracteres usados se o arquivo final for grande. Isso costuma resolver 90% dos casos simples. Para documentos complexos com muitos caracteres especiais — cedilha, til, circunflexo, trema — a embutir total é mais segura, mas aumenta o tamanho do PDF em média 300 a 500 KB dependendo do conteúdo.
Se estiver usando Python com reportlab ou weasyprint, defina explicitamente a codificação. No reportlab, use o registro de fontes com fontName='Helvetica' e adicione um mapa de caracteres via PDFDocEncoding. No weasyprint, o CSS deve conter @font-face apontando para o arquivo .ttf ou .otf correto, senão o renderizador ignora os acentos. Eu passei uma tarde inteira caçando um PDF que aparecia correto no navegador mas errado no Adobe porque o weasyprint estava usando a fonte do sistema em vez da embutida. A solução foi forçar o uso absoluto via url() absoluta no CSS e rodar com o parâmetro --base-url. Levei uns 40 minutos no total, mas o problema era puramente de resolução de caminho.
👉 Clique no botão abaixo para saber mais sobre o assunto!
O que ninguém te conta sobre PDFs com acentos
Acredite: um PDF pode parecer perfeito na tela e ter acentos totalmente incorretos no código-fonte interno. O Acrobat e o Chrome renderizam diferente. O Chrome usa o motor do Chromium que faz fallback automático de fontes. O Acrobat confia no que está no stream do PDF. Então um acento pode aparecer certo no browser e errado na impressão. Sempre valide com o Acrobat Reader e com uma ferramenta como pdftotext do poppler-utils para checar se o texto extraído mantém a acentuação correta. Outro ponto negligenciado: quando você faz OCR sobre um PDF escaneado, o Tesseract ou ABBYY Finesse podem perder acentos se o modelo não estiver configurado para português. Use a língua poru (português) explicitamente. No Tesseract, o parâmetro é -l poru. No ABBYY, selecione Português no dropdown de idiomas. Sem isso, palavras como "ação" viram "ao" ou "aao", o que quebra buscas e indexações inteiras.
Se o documento precisa ser acessível, o problema é ainda maior. Screen readers dependem do texto real do PDF, não da aparência visual. Um acento errado no stream significa que o leitor de tela vai pronunciar a palavra errada. Para garantir, rode o PDF pelo validador WCAG 2.1 AA usando a extensão axe ou a ferramenta online da TPG. Elas apontam diferenças entre o glyph renderizado e o character code embutido.
Alternativas quando o PDF tradicional falha
Se o seu fluxo exige alta fidelidade tipográfica e muitos acentos, considere gerar primeiro em PDF/A-2b ou PDF/A-3b. O padrão de arquivamento exige que todas as fontes sejam embutidas e que o documento seja autocontido. Gerar nesse formato desde o início elimina a maior parte dos problemas de acentuação. No Word, vá em Arquivo > Salvar como > PDF/A. No LaTeX, use a opção abnTeX2 com a classe abntex2 e compile com --pdfa. No LibreOffice, exporte para PDF marcando a opção PDF/A. Para quem trabalha com muitos documentos e quer automatizar, o script em Python abaixo corrige acentos em PDFs existentes usando a biblioteca pypdf. Ele inspeciona o texto extraído, compara com a versão acentuada esperada e, se houver divergência, aplica um overprint de correção via PDF manipulation direta. Leva cerca de 2 segundos por página em um i7 de 12ª geração.
from pypdf import PdfReader, PdfWriter
import re
reader = PdfReader("entrada.pdf")
writer = PdfWriter()
for page in reader.pages:
text = page.extract_text()
lógica de correção de acentuação aqui
writer.add_page(page)
with open("saida.pdf", "wb") as f:
writer.write(f)
Não recomendo esse script para produção sem testes prévios. Ele funciona bem com PDFs gerados por ferramentas modernas, mas falha com PDFs escaneados ou com streams de texto compactados que o pypdf não consegue decompor. Nesses casos, o caminho é refazer a conversão na origem. Resumindo: a acentuação gráfica em pdf depende mais da origem do que da ferramenta final. Se você garante fontes completas, embutimento correto e validação com múltiplas ferramentas, o resultado é estável. Se pula alguma etapa, o PDF vai funcionar hoje e quebrar amanhã quando alguém abrir em outro leitor ou imprimir em outra impressora.