Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

1. Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/09/2013 - 11:24h

Bom dia amigos do VOL. Estou precisando diminuir o tamanho de arquivo .pdf de um determinado diretório. Estava tentando com o GhostScript da seguinte forma:


gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dNOPAUSE -dBATCH -sOutputFile=outputfile.pdf inputfile.pdf


Dessa forma eu consigo diminuir o tamanho do arquivo .pdf. Mas o que não consegui fazer é que em vez de colocar no input 1 único arquivo. Ele precisa pegar todos os arquivos de um determinado diretório e diminuir seu tamanho mantendo seu nome. Não sei se o GhostScritp faz isso. Alguma dica?

Obrigado

Igor Carvalho



  


2. MELHOR RESPOSTA

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 24/09/2013 - 13:32h

m1n3ro escreveu:

Bom dia amigos do VOL. Estou precisando diminuir o tamanho de arquivo .pdf de um determinado diretório. Estava tentando com o GhostScript da seguinte forma:


gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dNOPAUSE -dBATCH -sOutputFile=outputfile.pdf inputfile.pdf


Dessa forma eu consigo diminuir o tamanho do arquivo .pdf. Mas o que não consegui fazer é que em vez de colocar no input 1 único arquivo. Ele precisa pegar todos os arquivos de um determinado diretório e diminuir seu tamanho mantendo seu nome. Não sei se o GhostScritp faz isso. Alguma dica?

Obrigado

Igor Carvalho


$ convert original.pdf -resize 50% reduzido.pdf 

O convert faz parte do ImageMagick, então instale-o e seja feliz. Para o que você quer, um
 $ for i in *pdf; do convert "$i" -resize 50% "${i%.pdf}-resized.pdf" ; done 

Instalando o poppler-utils você ainda pode fazer
 $ for i in *-resized.pdf; do pdfunite "$i" juntada.pdf ; done 

Pra transformar todos esses arquivos redimensionados em um único arquivo.

3. Re: Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

Ton Melo
IZhaq_Melo

(usa FreeBSD)

Enviado em 24/09/2013 - 13:14h

voce tem certeza que deseja fazer isso mesmo?

cara um pdf nada mais é do que uma foto... e como voce deve estar cansado de saber compactar fotos não adianta muito as vezes até aumento o tamanho do arquivo em si do que diminui...

qual é a necessidade real de diminuir cada arquivo?

faça um teste faça um tar.gz ou tar.gz2 com o máximo de compactação verá que não tera muita diferença do arquivo antes de comapcta-lo.
o Gs nada fara a não ser reimprimir o arquivo...
pense ISSO É NECESSÁRIO MESMO??


4. Re: Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/09/2013 - 14:53h

Amigo, valeu mesmo. Exatamente o que eu precisava, show de bolisse. É necessário amigo IZhaq_Melo, serão cópias para envio por e-mail. O original será armazenado também.


5. Re: Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 25/09/2013 - 11:59h

m1n3ro escreveu:

Amigo, valeu mesmo. Exatamente o que eu precisava, show de bolisse. É necessário amigo IZhaq_Melo, serão cópias para envio por e-mail. O original será armazenado também.


Disponha, chapinha!


6. Re: Diminuir tamanho de arquivo .pdf em lotes [RESOLVIDO]

Bruno Sousa
xBrunoSousa

(usa Manjaro Linux)

Enviado em 16/07/2016 - 21:32h

Não entendi muito bem o comando.

Qual seria o comando para comprimir os pdf's?


7. Comando para Comprimir PDF's com GhostScript

João Vitor Veronese Vieira
joaovitorvv

(usa Ubuntu)

Enviado em 01/09/2016 - 09:40h

Olá amigo xBrunoSousa.

Seguindo as dicas do pessoal neste tópico, existem várias formas de se fazer compressão com pdf e os comandos seriam estes:

 $ convert original.pdf -resize 50% reduzido.pdf  


 $ for i in *pdf; do convert "$i" -resize 50% "${i%.pdf}-resized.pdf" ; done  


 $ for i in *-resized.pdf; do pdfunite "$i" juntada.pdf ; done 


Porém, venho trabalhando num caso parecido há alguns dias e acabei não gostando muito do resultado quando usei alguns dos comandos acima. Portanto, passei a utilizar o seguinte comando, que faz uso do GS (GhostScript):

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dColorImageResolution=".$qualidadePdf." -dNOPAUSE  -dBATCH -sOutputFile=".$$outputFile." ".$inputFile  


Aonde $qualidadePdf seria a qualidade que você deseja para seu arquivo (Quanto mais qualidade, menor a compressão); $outputFile seria seu arquivo de saída (o nome que você deseja) e $inputFile seria o seu arquivo de entrada (Obs: ele aceita que você coloque diretórios nestas duas variáveis para chegar até o arquivo, se quiser).

Espero que tenha ajudado, sou novo nestas respostas em Tópicos. Abraço!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts