Olhar dentro de um PDF

Toda ferramenta de PDF edita páginas; quase nenhuma mostra o que um PDF realmente é. Isto percorre o grafo de objetos inteiro do jeito que um engenheiro de PDF o lê — útil para depurar geradores, auditar o que um arquivo carrega e aprender o formato.

Carregando a ferramenta…

Como funciona

  1. Solte o PDF — o qpdf analisa o grafo de objetos completo dentro do seu navegador.
  2. Filtre por tipo de objeto ou pesquise nos dicionários; clique em um objeto para vê-lo formatado.
  3. Veja o resumo: versão, número de páginas, cifragem e quantas gerações salvas o arquivo carrega.

Por que nada é enviado

Tudo o que esta página faz é executado por código que roda dentro da aba do seu navegador, com o mesmo motor que desenha as páginas web. O arquivo é lido do disco para a memória da aba, transformado ali e escrito de volta como um download. Ele nunca é enviado a lugar nenhum — nem para nós, nem para terceiros.

Comprove você mesmo

  1. Abra as ferramentas de desenvolvedor do navegador (F12) e escolha a aba Rede.
  2. Carregue o seu arquivo e rode a ferramenta.
  3. As únicas requisições que você vai ver baixam o código da própria ferramenta — e, em algumas ferramentas pesadas, o motor de código aberto delas a partir de um CDN público — mais um pequeno aviso de visita para loreatec.jp (endereço e título da página, nada mais). Nenhuma delas leva o seu arquivo.

Comprove você mesmo →

Perguntas frequentes

O que são as “saved generations” (gerações salvas) e por que elas são sinalizadas?

PDFs podem ser salvos de forma incremental: a nova versão é acrescentada no fim e os bytes antigos continuam no arquivo. Mais de uma geração significa que o conteúdo anterior talvez possa ser recuperado cortando o arquivo num %%EOF anterior — o que importa quando um documento foi “corrigido” antes de ser compartilhado.

Para que eu usaria isto na prática?

Depurar um PDF que o seu código gera (por que a fonte não foi embutida? para onde foram os metadados?), auditar um arquivo antes de publicá-lo (o que ele contém de verdade?) e entender por que um PDF de 200 KB abre na hora e outro se arrasta. O grafo de objetos responde perguntas que as ferramentas de página nem conseguem formular.

Ele mostra o conteúdo dos streams?

Ele mostra o dicionário de cada stream — tamanho, filtros, tipo — mas não extrai os dados decodificados nesta versão. Para as imagens das páginas existe a ferramenta de extrair imagens; para o texto, as ferramentas de extração de texto.

O PDF é enviado?

Não. Uma biblioteca de PDF de código aberto que serve de padrão, compilada para WebAssembly, analisa o arquivo dentro desta aba. Para uma ferramenta cujo público inspeciona documentos confidenciais e ainda não publicados, local é o único desenho aceitável.