Como comprimir um PDF sem enviar pra lugar nenhum
Navegadores modernos comprimem PDFs sem mandar nada pra servidor. Aqui está o que mudou, como funciona e onde ainda falha.
Toda semana alguém me pergunta como reduzir um PDF sem usar um daqueles sites de "envia aqui e baixa o resultado". A resposta honesta, durante muito tempo, foi: não dá, não de verdade, a não ser que você instale o Adobe Acrobat ou aprenda Ghostscript. Isso mudou há alguns anos, e a maioria das pessoas nem notou.
Navegadores modernos conseguem fazer trabalho real com PDF. Não só "abrir o arquivo", mas processar, rerenderizar, recomprimir imagens, tirar metadados e escrever um arquivo novo do zero. Tudo dentro da aba, sem nada saindo da sua máquina. Esse texto explica como funciona, onde brilha e onde não funciona tão bem.
O que "compressor de PDF online" normalmente significa
A maioria das ferramentas grátis segue a mesma receita. Você joga o arquivo num formulário. O arquivo sobe pro servidor da empresa. Um job em background roda Ghostscript ou similar e gera um PDF menor. Você baixa o resultado.
A compressão em si funciona. A parte que incomoda é a história de privacidade. Leia os termos de qualquer site popular do setor e vai achar cláusulas sobre armazenamento temporário, prazos de retenção ("até 60 minutos" é comum) e direitos de processar o conteúdo pra "melhorias do serviço". Um extrato bancário, um contrato ou um RG escaneado fica no servidor de outra empresa, mesmo que por poucos minutos.
Pra maioria dos arquivos isso é tranquilo. Pra alguns não, e em geral você só descobre quando algo vaza.
O que mudou nos navegadores
Três coisas tornaram o trabalho client-side com PDF prático:
- WebAssembly. Bibliotecas em C e C++ que lidam bem com PDF, como PDFium e uma versão enxuta do PDF.js, agora compilam pra um formato binário que o navegador roda em velocidade quase nativa.
- Web Workers. O trabalho pesado saiu da thread principal. A página continua responsiva enquanto um documento de 200 páginas é rerenderizado em segundo plano.
- OffscreenCanvas. Um canvas real, ciente da GPU, que funciona dentro de um worker. É isso que permite rasterizar páginas sem travar a aba.
Juntando essas três peças, dá pra fazer o mesmo trabalho que um servidor fazia. O custo é a banda (a engine carrega uma vez) e um pequeno delay inicial. Depois disso, cada arquivo que você processa fica em memória e é descartado quando você fecha a aba.
Como a compressão no navegador funciona na prática
Um PDF é um container. Dentro dele tem texto, formas vetoriais, fontes embutidas, imagens raster e uma pilha de metadados. Duas estratégias amplas reduzem o tamanho.
Reempacotamento sem perda. O formato PDF permite várias formas de guardar o mesmo conteúdo. Object streams, por exemplo, agrupam muitos objetos pequenos e os comprimem como um bloco só. Remover fontes duplicadas, jogar fora XObjects não usados e limpar metadados pode tirar 10 a 30 por cento de muitos arquivos sem mexer num pixel. O texto continua selecionável, vetores continuam nítidos.
Rasterização. Quando você precisa de um arquivo bem menor e o documento já é majoritariamente imagem (pense em contratos escaneados ou revistas), o caminho mais efetivo é renderizar cada página numa imagem em resolução escolhida, codificar como JPEG e escrever um PDF novo embrulhando essas imagens. Você perde texto pesquisável. Também perde uns 50 por cento dos bytes, às vezes mais.
Ferramentas boas deixam você escolher. O PDFShore tem três presets: Leve (só sem perda), Recomendado (raster a 150 DPI, qualidade JPEG 0,75) e Extremo (100 DPI, qualidade 0,5). O certo depende do uso. Anexo de email? Recomendado costuma ser invisível. Master pra gráfica? Fica no Leve ou nem comprime.
Trade-offs pra ter em mente
Compressão no navegador não é vitória de graça. Alguns pontos:
- Tempo. Engines de servidor rodam em máquinas parrudas. Seu laptop roda no seu laptop. Um documento de cem páginas pode levar meio minuto em hardware mais antigo.
- Memória. Rasterizar cada página significa segurar bitmaps na RAM. Arquivos muito grandes (300+ páginas densas) batem em limite de memória da aba.
- PDFs com senha. Documentos protegidos precisam ser desbloqueados antes. A maioria das ferramentas no navegador (PDFShore incluído) pede pra você tirar a senha no leitor de PDF e depois voltar.
- Suporte de navegador. Precisa de OffscreenCanvas, que o Safari só lançou no 16.4. Versões mais antigas falham com mensagem clara.
Quando ferramenta desktop ainda é melhor
Processar centenas de arquivos, pipelines automatizados e documentos gigantes ainda são mais felizes com Ghostscript na linha de comando ou um app desktop pago. Navegadores são ótimos pra "uma vez, agora, sem complicação". Não são ótimos pra "comprime essa pasta de 800 notas fiscais durante a noite".
Um passo a passo rápido
O fluxo todo no PDFShore. Abre a página Comprimir PDF. Joga um arquivo na área pontilhada, ou clica pra escolher. A interface mostra nome e tamanho, depois oferece três presets. Escolhe um, clica em Comprimir, vê a barra de progresso. Quando termina, aparece a economia em porcento, os tamanhos antes e depois e um botão de Baixar.
Se o resultado ficou muito borrado, troca pra um preset mais leve e tenta de novo sem re-enviar nada. O arquivo já está em memória.
A pegada da "web pequena"
É fácil esquecer quanta coisa da web poderia simplesmente parar de enviar arquivos pra servidor. Compressão de imagem, conversão de formato, corte de áudio, até edição leve de vídeo rodam bem num laptop ou celular recente. O movimento continua empurrando trabalho pro navegador. Ótimo pra privacidade, ruim pra negócios construídos em cima de "ferramenta grátis, a gente fica com seus dados", e bom pra quem tá no meio.
Testa o Comprimir PDF, manda feedback. Se em algum momento parecer que o site está fazendo coisa pelas suas costas, abre o painel de rede do navegador. Tem que estar vazio depois da engine carregar. Esse é o ponto inteiro.