Comprimir PDF

Reduza um PDF escaneado ou com muitas imagens recodificando suas imagens JPEG e brutas (FlateDecode) com MozJPEG ou PNG sem perdas, com opção de limitar a resolução. Roda no navegador.

pdf

Comprimir PDF

PDF a comprimir

Solte um arquivo aqui ou clique para escolher

Qualidade JPEG60%

Quanto mais baixa, menor e mais borrada. O texto continua nítido; as fotos perdem detalhe primeiro.

Roda totalmente no seu navegador. Seus dados nunca saem do seu dispositivo.

What next?

FAQ

Meu arquivo é enviado para algum servidor?

Não. Todo o trabalho acontece dentro desta aba do navegador: o pdf-lib lê e reescreve a estrutura do PDF, uma build WebAssembly do MozJPEG recodifica as fotos, e uma build WebAssembly do oxipng comprime em PNG sem perda. O resultado volta como uma blob URL criada pelo próprio navegador, não um link de download de servidor nenhum. Abra as ferramentas de desenvolvedor, vá até a aba Network e rode a compressão — nenhuma requisição vai carregar o conteúdo do arquivo. Desligue a internet por completo e a ferramenta continua funcionando, porque não há nada para enviar a lugar algum.

Por que meu PDF quase não diminuiu?

Porque um PDF quase só com texto nunca foi pesado, e esta ferramenta não consegue diminuir texto — ela só recomprime imagens incorporadas. Antes de construir a ferramenta, medimos isso diretamente: compressão estrutural de PDF (reescrever object streams, deduplicar fontes) tirou só 0,2% de um PDF de 924 KB quase todo texto, e 1,8% de um certificado de 284 KB. O que de fato deixa um PDF pesado é uma página escaneada salva como foto de página inteira, ou uma captura de tela colada num relatório na resolução original — e é isso que vale a pena comprimir. Se seu arquivo tem poucas ou nenhuma imagem dentro do que a ferramenta processa (veja a próxima pergunta), não espere grande redução — o resultado diz isso com honestidade, em vez de inventar uma porcentagem que não aconteceu. Alguns números reais medidos durante a construção: um contrato com assinatura digital, com 262 imagens incorporadas (a maioria logos pequenos e carimbos de assinatura), caiu de 2,2 MB para 1,9 MB; um relatório cheio de capturas de tela em resolução original caiu de 9,2 MB para 817 KB — uma redução de 91%, porque as 17 imagens eram bem maiores do que a página precisava.

O que exatamente é recomprimido, e o que fica intocado?

Dois tipos de imagem incorporada, decodificados de dois jeitos diferentes. O primeiro tem /Filter igual a DCTDecode — já é um JPEG, decodificado com o próprio decodificador JPEG do navegador. O segundo tem /Filter igual a FlateDecode — pixels crus, comprimidos apenas com zlib, que esta ferramenta decodifica sozinha: desempacotando profundidades de bit de 1, 2, 4, 8 ou 16 bits por componente, revertendo um predictor de linha estilo PNG quando existe um (Predictor 10–15 — muito comum quando o PDF foi montado a partir de um PNG, como fazem o LibreOffice e várias ferramentas de captura-para-PDF), e interpretando os espaços de cor DeviceGray, DeviceRGB, DeviceCMYK, CalGray, CalRGB, ICCBased (pelo número de componentes /N declarado) e Indexed (paleta). Uma imagem com seu próprio canal alfa (/SMask) também é combinada no resultado, mas quando essa máscara também é uma imagem FlateDecode DeviceGray do mesmo tamanho em pixels que a imagem base — uma máscara codificada como JPEG, ou com dimensões que não batem exatamente, é uma forma que esta ferramenta não comprovou conseguir combinar direito, então a imagem inteira fica intocada em vez de arriscar perder a transparência silenciosamente. Fica intocado pelo mesmo motivo: qualquer predictor estilo TIFF (valor 2), qualquer array /Decode diferente do padrão, qualquer /Mask (máscara tipo stencil ou color-key, diferente de /SMask), qualquer cadeia de filtros como [/ASCII85Decode /FlateDecode] em vez de um FlateDecode simples, e qualquer imagem cujo espaço de cor não se encaixe nas categorias acima (Separation, DeviceN, Lab, e Indexed construído sobre uma base DeviceCMYK). O resultado sempre mostra quantas imagens foram recomprimidas e quantas ficaram como estavam, sem esconder nada.

Isso tem perda? Meu documento escaneado vai ficar pior?

Depende do tipo de imagem. Uma foto ou escaneamento de tom contínuo — DeviceGray, DeviceRGB ou DeviceCMYK, sem transparência — é recodificada como JPEG, que perde dados toda vez que é codificado; mesmo em qualidade alta, recomprimir um JPEG que já foi comprimido uma vez perde um pouco mais do que a primeira passada. O controle de qualidade troca tamanho de arquivo por fidelidade diretamente, e o texto de uma página escaneada costuma continuar legível bem abaixo do ponto em que uma foto começa a ficar ruim. Uma imagem DeviceCMYK também é convertida para RGB usando a mesma aproximação que qualquer visualizador sem um motor completo de gestão de cor usa — não é fiel à cor, esta ferramenta não serve para prova de cor antes de imprimir. Uma imagem com canal alfa, ou que usa paleta (Indexed) — um ícone, um logo, um gráfico de cor chapada — em vez disso é recodificada como PNG otimizado, sem perda: nenhum pixel é descartado, só a compressão fica mais eficiente, por isso essas imagens às vezes quase não diminuem. De qualquer forma, a ferramenta nunca troca uma resolução menor por um arquivo maior: se a versão recomprimida ficasse maior que os bytes originais, o original é mantido e aquela imagem conta como inalterada, não como recomprimida. Se você precisa manter os pixels originais exatos, guarde uma cópia do arquivo fonte antes de comprimir.

O que o limite de resolução faz?

Ele reduz as dimensões em pixels de uma imagem até um DPI alvo, partindo do princípio de que — como costuma acontecer numa página escaneada ou numa captura de tela de página inteira — a imagem preenche a página onde está. Para documentos feitos para ler na tela em vez de imprimir, 150 DPI costuma ser indistinguível do original a olho nu, e essa é a alavanca mais forte para reduzir um documento escaneado ou cheio de capturas de tela, mais do que o controle de qualidade sozinho. O limite se aplica igual tanto às imagens que seguem pelo caminho JPEG quanto pelo PNG. Se uma imagem não é referenciada diretamente nos recursos (Resources) de nenhuma página (por exemplo, aninhada dentro de um formulário), o limite de DPI é ignorado para ela, e só o controle de qualidade continua valendo.

O número de páginas ou o layout muda?

Não. Esta ferramenta nunca toca no content stream de uma página — as instruções que posicionam texto, desenhos e imagens — então nada sobre onde as coisas estão, quantas páginas existem, ou o que o texto diz pode mudar. Só os bytes das imagens elegíveis são substituídos, no lugar, na mesma referência que o resto do arquivo já aponta. Há uma mudança estrutural que esta ferramenta faz de propósito: quando uma máscara de transparência é incorporada numa única imagem PNG combinada, o objeto da máscara antiga é apagado do arquivo em vez de ficar como peso morto — medido num PDF real com 262 imagens, pular essa limpeza sozinho fazia o arquivo "comprimido" ficar 7% maior que o original.

More pdf tools