Ir para o conteúdo
5 min de leitura

Versões antigas escondidas no PDF: o que o arquivo ainda guarda

Como saber se um PDF guarda versões antigas de texto apagado, contar as marcas de fim de arquivo e remover o histórico por reescrita antes de enviar.

Um PDF editado e salvo de forma incremental guarda as versões anteriores dentro do mesmo arquivo. O texto apagado pode continuar em uma revisão antiga, mesmo sem aparecer na página. Para checar, conte as marcas de fim de arquivo com um comando simples. Para remover o histórico, reescreva o PDF: no AjustaPDF, a compressão faz isso com o arquivo inteiro.

Como um PDF guarda versões antigas

Quando um editor salva de forma incremental, ele não reescreve o arquivo do começo. Ele acrescenta no fim as partes alteradas, com uma nova tabela que aponta para as versões novas. Os bytes antigos continuam no lugar, e o leitor apenas mostra a versão mais recente.

Isso explica por que um arquivo pode ficar maior do que o conteúdo justifica, mesmo depois de apagar páginas ou trechos. Também explica por que um trecho removido pode ser recuperado por quem tiver o arquivo e souber onde procurar.

Imagine um contrato em que uma cláusula foi apagada no editor e salva com o mesmo nome. Na tela, a cláusula sumiu. No arquivo, a versão anterior pode continuar nos bytes do PDF, esperando um programa que a interprete. Quem recebe o arquivo, com um pedido de cópia ou uma perícia, pode tentar recuperar essa versão, e o documento parece limpo para quem só o abre.

Sinais de que o arquivo tem histórico

Nenhum sinal sozinho prova que o histórico existe. Eles servem para decidir se vale a pena reescrever o arquivo antes de enviar.

SinalO que pode significarCuidado
A contagem de fim de arquivo dá 1O arquivo foi gravado de uma vez, sem salvamentos acumuladosNão garante que não houve edição em outra ferramenta
A contagem de fim de arquivo dá 2 ou maisHouve salvamentos incrementais, e cada um deixou dados anterioresUm padrão igual pode aparecer dentro de dados comprimidos
O arquivo pesa mais do que as páginas explicamPodem existir objetos antigos que nenhuma página mostraImagens grandes também explicam o peso, então veja as imagens primeiro

Para fazer a contagem no Mac ou no Linux, abra o terminal na pasta do arquivo e rode grep -a -o "%%EOF" nome-do-arquivo.pdf | wc -l, trocando o nome pelo seu. O comando devolve um número. Ele não altera o arquivo.

Como o AjustaPDF trata esse histórico

A compressão do AjustaPDF usa o Ghostscript para gravar o documento de novo do começo ao fim. Esse processo é o que elimina as versões guardadas por salvamento incremental. Vale para os três níveis de compressão, porque todos passam pela mesma reescrita.

A junção de PDFs monta um arquivo novo a partir das páginas atuais. Ela copia o que cada página usa, e não o histórico do arquivo original. Na prática, costuma deixar as versões antigas de fora, mas confira o resultado com a contagem antes de confiar.

Girar, dividir e organizar também gravam um arquivo novo só com os objetos em uso, então as versões antigas penduradas no fim não passam para o resultado. Confira com a contagem, como nos outros casos.

Passo a passo para remover o histórico

O melhor método é gerar o PDF de novo a partir da origem, sem o trecho. Quando isso não é possível, siga a sequência abaixo.

  1. Antes de tudo, copie o trecho sensível e busque-o no leitor. Se ele aparecer na página atual, resolva isso primeiro, porque o histórico é um problema separado.
  2. Conte as marcas de fim de arquivo com o comando acima e anote o número.
  3. Se o arquivo tem senha para abrir, desbloqueie antes com a senha certa. As ferramentas não trabalham sobre um arquivo que pede senha de abertura.
  4. Abra a ferramenta de comprimir PDF, envie o arquivo e baixe o resultado. O nível médio serve para a maioria dos casos.
  5. Conte as marcas de fim de arquivo no arquivo novo. O número costuma cair para 1, mas o mais importante é buscar o trecho antigo de novo.

O que a reescrita não resolve

Apagar o histórico não remove o que ainda está visível. Se o trecho continua na página, ele continua no arquivo, e a reescrita só mantém o documento atual. Também não há garantia sobre cópias que o programa de origem guardou fora do arquivo, como rascunhos ou backups na nuvem.

  • Não remove autor, programa de origem e datas como uma ferramenta de metadados. O campo Producer, por exemplo, passa a citar o Ghostscript.
  • Não serve para documento assinado digitalmente. Qualquer reescrita depois da assinatura pode quebrar a validação, como explica o guia sobre PDF assinado digitalmente.
  • Não faz OCR. Se o trecho está em imagem, a reescrita mantém a imagem como ela é.

Quando o problema também é o autor do arquivo

Às vezes o que sobra no arquivo não é um trecho, e sim o nome de quem criou o documento e o programa usado. Nesse caso, o próximo passo é uma ferramenta de metadados. O MetaWipe lê o relatório de metadados grátis e sem conta. Para PDF, ele regrava o documento para que os campos /Info e XMP antigos não fiquem recuperáveis numa atualização incremental. Você paga por Pix só ao baixar o arquivo limpo, e os arquivos são apagados uma hora depois do envio.

Para entender que tipo de informação fica no arquivo, leia o guia sobre metadados do PDF. Se a dúvida é se um trecho aparece mesmo com tarja, o guia sobre tarja preta que não apaga o texto mostra o teste passo a passo.

Perguntas frequentes

Apagar o texto no editor já remove a versão antiga do arquivo?

Nem sempre. Muitos editores salvam as mudanças no fim do arquivo, e a versão anterior continua nos bytes do documento. O texto apagado pode seguir guardado em uma revisão antiga. Para ter certeza, conte as marcas de fim de arquivo, como descrito no guia, e reescreva o PDF.

Como saber quantas versões um PDF tem guardadas?

No Mac ou no Linux, rode o comando com grep, contando as ocorrências de %%EOF no arquivo. Um resultado igual a 1 indica um arquivo gravado de uma vez. Mais de 1 indica salvamentos acumulados. Trate o número como um indício, porque o padrão pode aparecer dentro de dados comprimidos.

Comprimir o PDF no AjustaPDF apaga o histórico de salvamentos?

Sim. A compressão reescreve o arquivo inteiro com o Ghostscript, então as versões antigas guardadas por salvamento incremental deixam de existir. O campo Producer passa a citar o Ghostscript. Confira o resultado com a mesma contagem de %%EOF antes de enviar.

Salvar com outro nome limpa as versões antigas?

Não necessariamente. Salvar como outro nome pode só copiar o arquivo com o mesmo histórico dentro. O teste é o mesmo: conte as marcas de fim de arquivo no novo arquivo. Se ainda houver mais de uma, o histórico foi copiado junto.

Quem não tem Mac ou Linux, como faz o teste?

Sem terminal, o caminho prático é reescrever o arquivo com a ferramenta de comprimir e depois buscar um trecho antigo no leitor. Se a busca não achar o trecho que você removeu, a reescrita funcionou. Se o arquivo tem assinatura digital, não faça a reescrita sem antes checar a validade.