# Comprimir PDF com Ghostscript e qpdf no terminal

Comprima PDF com Ghostscript e qpdf na linha de comando: comandos prontos, presets /prepress, /ebook e /screen, remoção de senha antes e quando o qpdf não reduz imagens.

URL canônica: https://www.ajustapdf.com/blog/comprimir-pdf-ghostscript-qpdf

Publicado em 2026-10-09 · 6 min de leitura

Para comprimir um PDF pelo terminal, use o Ghostscript com -dPDFSETTINGS=/ebook: ele reamostra as imagens para uma resolução menor e recompacta o arquivo, que é onde está quase todo o peso. O qpdf não reduz imagens; ele só reempacota o arquivo sem perda, o que serve para limpar a estrutura. Os níveis do AjustaPDF usam os mesmos presets do Ghostscript: leve é /prepress, média é /ebook e forte é /screen.

## Dois programas, duas coisas diferentes

Os dois são ferramentas de linha de comando gratuitas e abertas, e muita gente os usa juntos sem saber o que cada um faz. A diferença está em o que é alterado dentro do arquivo:

| Ferramenta | O que faz | Reduz imagens? | Perde qualidade? |
| --- | --- | --- | --- |
| qpdf | Reorganiza objetos, recompacta fluxos e remove redundância | Não | Não |
| Ghostscript (pdfwrite) | Reescreve o PDF e reamostra as imagens conforme o preset | Sim | Sim, nas imagens |
| qpdf depois do Ghostscript | Limpa a estrutura do arquivo já reduzido | Não (já foi feito pelo Ghostscript) | Não |

Se o PDF é um relatório de texto, o qpdf sozinho pode bastar. Se é um escaneado, o Ghostscript é indispensável, porque só ele mexe na resolução das imagens.

## Instalar as duas ferramentas

No macOS, com o Homebrew, um único comando instala as duas. No Debian e no Ubuntu, use o apt. No Windows, os instaladores oficiais dos dois projetos funcionam, e o comando precisa estar no PATH para ser chamado de qualquer pasta:

```
brew install ghostscript qpdf
```

```
sudo apt install ghostscript qpdf
```

Confirme a instalação com gs --version e qpdf --version. Se algum deles não for encontrado, o terminal ainda não enxerga o programa, e reabrir a janela costuma resolver.

## Comprimir com o Ghostscript

O comando abaixo gera saida.pdf a partir de entrada.pdf no preset de tela. As opções -dNOPAUSE, -dQUIET e -dBATCH impedem que o programa pare para perguntar algo no meio do caminho, e -dSAFER limita o que o PostScript embutido no arquivo pode fazer no seu sistema. Use -dSAFER sempre que o PDF vier de fora:

```
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -dSAFER -sOutputFile=saida.pdf entrada.pdf
```

Troque só o preset para mudar o nível:

| Preset | Nível equivalente no AjustaPDF | Indicado para |
| --- | --- | --- |
| /prepress | Leve | Impressão, quando a qualidade das fotos importa |
| /ebook | Média | Tela, leitura e anexo de e-mail |
| /screen | Forte | Visualização rápida, quando o limite de envio é apertado |

O Ghostscript aceita parâmetros finos de resolução de cor, de tons de cinza e de imagens monocromáticas. Eles são úteis para quem precisa de uma regra específica para um tipo de documento. O AjustaPDF expõe apenas os três presets, e o guia acima cobre os casos do dia a dia, sem parâmetros avançados.

Depois de cada compressão, compare os tamanhos com ls -lh entrada.pdf saida.pdf. Se o saida.pdf for maior ou igual, descarte-o. Esse caso aparece sobretudo com /prepress em arquivos que já foram otimizados.

## Otimizar a estrutura sem perda com o qpdf

O qpdf entra depois, para limpar o que sobrou no arquivo. Ele recompacta os fluxos com Flate, que é o mesmo algoritmo do ZIP, e gera fluxos de objetos, que deixam o arquivo mais enxuto:

```
qpdf --object-streams=generate --compress-streams=y --recompress-flate --compression-level=9 entrada.pdf saida.pdf
```

O ganho com o qpdf é pequeno em PDFs gerados por editores modernos, que já vêm organizados. Ele vale mais em arquivos antigos, montados por partes ou com muitos objetos repetidos. Para ver o que pesa de verdade, use pdfimages -list entrada.pdf: a lista mostra as imagens e a resolução de cada uma, e normalmente uma ou duas explicam quase todo o tamanho. Se a causa for uma página escaneada, o [guia sobre PDF escaneado pesado](/blog/pdf-escaneado-muito-pesado-por-que) explica o que fazer antes de comprimir.

## PDF com senha: remova antes de comprimir

O Ghostscript não abre um PDF criptografado. Se o comando falhar sem mensagem clara, a causa costuma ser a senha de abertura. Remova a senha com o qpdf, comprima e proteja o arquivo de novo no final. Para não deixar a senha no histórico do shell, coloque-a em um arquivo de texto:

1.  Crie o arquivo senha.txt com a senha em uma linha e rode `qpdf --password-file=senha.txt --decrypt entrada.pdf sem-senha.pdf`.
2.  Comprima o sem-senha.pdf com o comando do Ghostscript acima.
3.  Proteja o resultado com `qpdf --encrypt SENHA SENHA 256 -- comprimido.pdf protegido.pdf`, trocando SENHA pela senha de verdade.
4.  Apague senha.txt, sem-senha.pdf e comprimido.pdf, que ficaram no disco sem criptografia.

Se você não tem a senha de abertura, não há comando que a substitua. O qpdf só decifra com a senha informada. Quem não tem a senha pode usar o [desbloquear PDF](/desbloquear-pdf), que também exige a senha atual e não tenta adivinhá-la.

## Comprimir vários arquivos de uma vez

Para uma pasta inteira, um laço de shell resolve. O exemplo grava cada resultado com o prefixo min- e mantém os originais intactos:

```
for f in *.pdf; do gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -dSAFER -sOutputFile="min-$f" "$f"; done
```

Aspas em volta de "$f" são obrigatórias, senão nomes com espaço quebram o comando. Ao final, confira o tamanho de cada min- com o original antes de enviar qualquer um deles.

## Erros comuns

-   **Esperar que o qpdf reduza fotos.** Ele não reamostra imagens. Para reduzir fotos, o Ghostscript é o único dos dois que faz isso.
-   **Usar /screen em documento para impressão.** As fotos ficam a 72 DPI e não voltam a ter detalhe. Use /prepress ou /ebook quando a arte importa.
-   **Não conferir o tamanho.** A saída pode ser maior do que a entrada, e o comando não avisa.
-   **Rodar o Ghostscript sobre um PDF criptografado.** Remova a senha antes, como descrito acima.

Para validar o resultado, abra o arquivo comprimido com zoom de 100% em duas páginas: uma com foto e uma só de texto. O texto precisa estar nítido em qualquer zoom, e a foto precisa ser aceitável para o destino. Se a foto ficou ruim demais, troque o preset pelo nível acima e teste de novo, em vez de aceitar a primeira saída.

## Quando o AjustaPDF resolve melhor que o terminal

Para um arquivo de vez em quando, o terminal tem uma vantagem clara: o PDF nunca sai do seu computador. Para uso frequente ou para quem não quer instalar nada, a [ferramenta de comprimir PDF](/comprimir-pdf) do AjustaPDF roda os mesmos programas no servidor, com os níveis leve, média e forte. O arquivo é apagado assim que a resposta sai, e o site não guarda a senha quando houver uma.

A diferença é de lugar, não de resultado. Se o documento tem dados que não podem ser enviados para um servidor, rode os comandos deste guia. Quem entende o que é processamento no servidor e no navegador pode ler [o guia sobre PDF online e segurança](/blog/pdf-online-e-seguro) antes de decidir.

## Perguntas frequentes

### Qual comando usar para comprimir PDF no Linux?

Use o Ghostscript com o preset /ebook: gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=saida.pdf entrada.pdf. O preset reamostra as imagens para uma resolução de tela e mantém o texto como texto.

### Qual a diferença entre os presets /prepress, /ebook e /screen?

São três níveis de reamostragem de imagem, do mais fiel ao mais leve. /prepress serve para impressão e mexe pouco no tamanho, /ebook é o equilíbrio para tela e e-mail, e /screen é o mais agressivo. O AjustaPDF usa os três como níveis leve, média e forte.

### O qpdf comprime PDF?

Reduz pouco, e só sem perda. O qpdf reorganiza os objetos do arquivo e recomprime os fluxos internos, mas não reamostra imagens. Ele ajuda em PDFs de texto gerados por programas que deixam redundância. Para fotos e páginas escaneadas, use o Ghostscript.

### O Ghostscript pode deixar o PDF maior?

Pode, sobretudo quando o arquivo já foi otimizado e o preset tenta reamostrar imagens que já estão pequenas. Compare o tamanho do entrada.pdf com o do saida.pdf. O servidor do AjustaPDF faz essa comparação e devolve o original quando o resultado é maior.

### Dá para comprimir um PDF com senha pelo terminal?

Dá, em três passos: remova a senha com qpdf --decrypt, comprima com o Ghostscript e proteja de novo com qpdf --encrypt. O Ghostscript não abre arquivos criptografados, por isso a remoção vem antes. Guarde a senha em um arquivo temporário e apague-o depois.
