User Tools

Site Tools


tutoriais:reduzpdf

Script para reduzir arquivos PDF

Certifique-se que sua distribuição está com o pacote ghostscript instalado (para poder utilizar o comando gs).

Crie um arquivo de texto chamado reduzpdf.sh (nome sugerido), com o seguinte conteúdo:

#!/bin/bash
#script para tentar reduzir tamanho de arquivo PDF. Verifique a qualidade!
arquivo=$1
saida=$(sed 's/\.pdf/reduzido.pdf/i' <<< $1)
echo "Arquivo $arquivo"
echo "Saída $saida"
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$saida" "$arquivo"

Salve esse script e dê permissão de execução, com o comando chmod +x reduzpdf.sh

Agora esse reduzpdf.sh é um script que recebe um arquivo.pdf e cria um arquivo chamado arquivoreduzido.pdf na mesma pasta do arquivo original. Note que não obrigatoriamente isso irá funcionar: em caso de arquivos já muito reduzidos, talvez até aumente um pouco, em caso de arquivos muito detalhados talvez fique ilegível. Por favor veja como ficou a saída.

Como funciona?

O comando gs vai trocar a qualidade do arquivo para uma qualidade de “ver na tela”. Isso tenta reduzir a qualidade do arquivo de forma que ainda seja legível em uma tela. Talvez para impressões em alta qualidade não fique legal, mas para ver na tela deve ser suficientemente bem. Em um exemplo de teste, um arquivo PDF de 52MB caiu para míseros 4MB e a qualidade na tela do PC continuava impecável. Em outro exemplo, um arquivo já de 28KB subiu para 32KB. Outro exemplo, um arquivo colorido escaneado com as letras inclinadas ficou ilegível.

Se quiser facilitar sua vida, como root, copie esse script para /usr/local/bin/reduzpdf.sh e assim é possível configurar seu ambiente gráfico para “abrir PDFs” com ele. A linha de comando a utilizar seria:

/usr/local/bin/reduzpdf.sh %f

Aí seria simplesmente clicar com o botão direito em um arquivo.pdf e mandar rodar com essa linha de comando acima (alguns gerenciadores deixam até você dar um apelido para a linha de comando).

tutoriais/reduzpdf.txt · Last modified: 2017-09-04 10:19 by alopes