GhostScript - Reduzindo o tamanho de arquivos PDF pelo terminal

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

[ Hits: 18.326 ]

Blog: https://fabio.city

 


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

Contando o número de palavras com o VIM

Instalando filtros e anti-vírus no seu servidor de e-mail

Evitando vulnerabilidades em seu servidor NFS

O comando nohup

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

Leitura recomendada

KVM - Instalando e rodando a primeira VM

Convertendo vídeos para FLV (any2flv)

Recuperação de sistema de arquivos por queda de energia

Como instalar o Python 3.5.1

Limpando a cache DNS (Red Hat / Suse / CentOS)

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts