Ir para o conteúdo
4 min de leitura

PDF abre como texto cheio de símbolos: por quê?

Quando um PDF aparece como texto com %PDF-1.7 e símbolos, como conferir os primeiros bytes do arquivo, decodificar base64 e saber se é uma página de erro salva como PDF.

Um arquivo que abre como texto cheio de símbolos geralmente não é um PDF, ou não foi salvo como PDF. Um PDF válido começa com a marca %PDF-, seguida da versão, como 1.7. Se essa marca não está no começo e o leitor mostra o conteúdo como texto, o arquivo foi gravado de outro jeito, e a saída é descobrir qual.

Primeiro, confirme se o leitor está certo

Muita gente abre um PDF no Bloco de Notas ou no TextEdit, vê %PDF-1.7 seguido de letras e símbolos ilegíveis, e acha que o arquivo está quebrado. Isso é normal. Um PDF é um arquivo binário, com trechos de texto e trechos de dados compactados, e um editor de texto mostra tudo como caracteres. O sinal de problema é outro: um leitor de PDF, como o navegador, o Adobe Acrobat ou o leitor do celular, mostrando o mesmo conteúdo como texto na tela.

Se o leitor de PDF recusa o arquivo ou mostra o código, teste o arquivo em outro leitor antes de concluir. Se todos recusam, o problema está no próprio arquivo.

Confira os primeiros bytes

A forma mais direta de saber o que o arquivo é consiste em olhar o começo dele, sem abrir com um programa de texto. No Mac ou no Linux, o comando head -c 8 seguido do nome do arquivo entre aspas mostra os primeiros oito bytes. No Windows, o PowerShell faz o mesmo com um comando de leitura de bytes. Compare o resultado com a tabela abaixo.

Começo do arquivoO que éO que fazer
%PDF-1.7 ou outra versãoPDF com cabeçalho válidoSe não abre, tente o reparo de PDF
<html ou <!DOCTYPEPágina da web salva com extensão .pdfBaixar o arquivo de novo pelo link certo
JVBERi0PDF codificado em base64Decodificar e salvar com extensão .pdf
Texto legível, em outro formatoJSON, CSV ou outro formato de textoPedir a origem e o formato esperado
Começa com dois bytes FF FE ou FE FFTexto salvo em Unicode, não PDFExportar de novo como PDF a partir da origem

Quando é uma página de erro salva como PDF

O caso mais frequente é um portal que devolve uma tela de erro no lugar do documento, e o navegador salva essa tela com o nome do arquivo e a extensão .pdf. Quando você abre o arquivo, vê código HTML, tags entre sinais de menor e maior, ou uma mensagem de sessão expirada. Não há documento a recuperar nesse arquivo.

A solução é voltar ao site, entrar de novo, procurar o botão de download e baixar outra vez. Confira o tamanho e os primeiros bytes da nova cópia. Se o portal insiste em devolver a página de erro, o problema está do lado do serviço, e vale registrar o horário e a mensagem que aparece na tela.

Quando é base64

Alguns sistemas, APIs e mensagens transformam o PDF em um texto de letras e números. Essa codificação, chamada base64, é reversível e não perde nada, mas deixa o texto cerca de um terço maior que o arquivo (quanto o Base64 aumenta um PDF). O texto começa com JVBERi0, que corresponde ao início de %PDF-. Para voltar ao PDF, decodifique o texto com o comando base64 do seu sistema. No Linux, o comando costuma ser base64 -d; no macOS, depende da versão, e o manual do comando mostra a opção certa.

Depois de decodificar, confira os primeiros bytes do arquivo novo. Ele deve começar com %PDF-. Se não começar, a decodificação não foi a correta, ou o texto que você copiou estava incompleto. Nesse caso, peça o texto inteiro de novo, sem cortar as quebras de linha. Para saber o que cada parte de um PDF aberto como texto significa, veja abrir PDF no Bloco de Notas e o que cada parte significa.

Quando o cabeçalho está no lugar, mas o arquivo não abre

Se o arquivo começa com %PDF- e ainda assim dá erro em todos os leitores, o problema está dentro dele. Algum trecho pode ter sido cortado, ou a estrutura de índice está quebrada. O reparo de PDF reconstrói o índice e tenta redesenhar as páginas legíveis. Ele não consegue reparar um arquivo que nunca foi PDF, por isso confira o começo antes de tentar.

Se a marca %PDF- aparece só depois de alguns bytes extras no começo, como uma linha gravada por um sistema intermediário, alguns leitores ainda abrem o documento. O reparo pode resolver, mas não há garantia. Para entender os sinais de cada caso, o guia sobre PDF corrompido que não abre mostra o diagnóstico passo a passo.

Evite a conversão acidental

Se o que chegou tem outra extensão, como .exe ou .pdf.zip, o guia sobre arquivo PDF com extensão estranha trata do risco e o de PDF que baixa com extensão errada do conserto. Muitos casos começam quando alguém copia o conteúdo de um PDF para um programa de texto e salva com a extensão .pdf, ou quando um formulário gera um arquivo de texto com esse nome. A cura é salvar sempre a partir do programa que gerou o documento. Para um documento que você vai enviar, exporte como PDF pelo próprio programa, e confira o começo do arquivo antes de mandar. Se o arquivo precisa ser juntado a outros depois, use o juntar PDF somente depois de confirmar que todas as partes abrem.

Perguntas frequentes

Por que o PDF abre com %PDF-1.7 e símbolos estranhos?

Porque esse trecho é o cabeçalho de um PDF de verdade, e o restante é conteúdo binário. Se você abriu o arquivo num editor de texto, isso é normal. O problema aparece quando um leitor de PDF mostra esse conteúdo como texto, o que indica que o arquivo não é um PDF ou foi gravado de outra forma.

Como confiro se um arquivo .pdf é realmente um PDF?

Veja os primeiros bytes. Um PDF começa com %PDF-. Se o arquivo começa com <html ou <!DOCTYPE, é uma página da web salva com a extensão .pdf. Se começa com JVBERi0, é um PDF codificado em base64, que precisa ser decodificado antes de abrir.

Recebi um texto cheio de letras e números que começa com JVBERi0. É um PDF?

Sim, quase sempre. JVBERi0 é a forma codificada em base64 do início de um PDF. Decodifique o conteúdo com o comando base64 do seu sistema e salve o resultado com a extensão .pdf. Se o texto veio de um sistema ou de uma API, o remetente pode indicar se ele é um PDF.

O reparo de PDF resolve um arquivo que começa com código HTML?

Não. Uma página de erro salva como .pdf não tem um PDF dentro, e o reparo não consegue reconstruir páginas que não existem. Peça o arquivo de novo ao site ou ao remetente, pelo link de download, e confira os primeiros bytes da nova cópia antes de abrir.