GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

Publicado por Fábio Berbert de Paula em 04/12/2012

[ Hits: 24.830 ]

Blog: https://fabio.automatizando.dev

 


GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal



Hoje precisei enviar um arquivo PDF como anexo em formulário. Meu problema era o seguinte: o PDF escaneado tinha 7mb e o limite de upload do site era 2mb. Eu precisava reduzir o tamanho do arquivo.

Uma rápida pesquisada no Google e encontrei a solução. Fico imaginando se em outros sistemas operacionais a coisa é tão simples assim. :)

Para reduzir o tamanho de um arquivo PDF, execute:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dNOPAUSE -dBATCH -sOutputFile=novo.pdf velho.pdf

Onde novo.pdf é o novo arquivo que será criado e velho.pdf é o antigo, o grande.

Entendendo o comando:
  • gs :: Ou GhostScript, um interpretador e visualizador de arquivos PS e PDF.
  • -sDEVICE :: Determina o dispositivo de saída do comando. Como estamos gerando um arquivo PDF, usaremos o dispositivo built-in pdfwrite;
  • -dCompatibilityLevel :: Determina o nível de compatibilidade do PDF. Neste caso o level 1.3 é compatível com o Acrobat Reader 3 ou superior. Level 1.4 por exemplo já seria compatível apenas com Acrobat Reader 5 ou superior.
  • -dNOPAUSE :: Desabilita o prompt (pausa) ao final de cada página processada.
  • -dBATCH :: Processamento em batch. Caso omita esta opção, após o processamento você cairá no interpretador gs e precisará digitar "quit" para sair.

Meu arquivo foi reduzido de 7mb para 1.1mb!

Fui.

Outras dicas deste autor

Como abrir uma página sem barras no Google Chrome / Chromium

Como usar extensões do Google Chrome no Opera

Conectando Linux com celulares através de Bluetooth

Sintaxe alternativa para encontrar arquivos por data com o comando find

Configurando adaptador USB WIFI Realtek RTL190CT no Debian

Leitura recomendada

Executar comandos ao efetuar login ou logout no Linux

Permissão para desligar o sistema

Comandos para Postfix

Os run levels (Níveis de Execução)

O comando join

  

Comentários
[1] Comentário enviado por jaac em 10/04/2014 - 12:56h

Valeu pela dica!
precisava enviar um curriculo, com um design diferenciado por causa da vaga, e o arquivo tinha 25 Mb!

Após este processo, o arquivo ficou com 700Kb!

Muito obrigado!

[2] Comentário enviado por lilomg em 26/07/2015 - 13:53h

No caso deste comando, como faria para converter todos os arquivos pdf dentro de um diretório para outro diretório?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts