GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

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

[ Hits: 24.337 ]

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

Instalando PokerStars no GNU/Linux

Como converter uma imagem em favicon de múltiplas resoluções

Combinando os comandos head e tail

JavaScript - converter uma array para valores únicos

Conectando Linux com celulares através de Bluetooth

Leitura recomendada

Vídeo aula: Como colocar wallpaper comum a todos os usuários

Arping - Descobrindo se um host está no ar em uma rede local protegida por um gateway/firewall

Guia rápido de uso do APT

Preparando a VM para virtualização do Mac OSX no VirtualBox

Configurando interface de rede eth0

  

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