Operações com PDF em linha de comando no Linux (comprimir, juntar, dentre outros)

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
A versão imprimível não é mais suportada e pode ter erros de renderização. Atualize os favoritos do seu navegador e use a função de impressão padrão do navegador.

Juntar PDF

Pode-se utilizar o comando pdfunite para juntar um ou mais pdf's em um único arquivo:

pdfunite file1.pdf file2.pdf file3.pdf output-file.pdf


No exemplo acima os arquivos file1, file2 e file3 foram colocados dentro do arquivo output-file.pdf. Também é possível utilizar caracteres coringa para adicionar uma quantidade muito grande de arquivos em um único pdf, no exemplo abaixo coloquei todos os arquivo em uma subpasta chamada pdf:

pdfunite pdf/* output-file.pdf


Comprimindo PDF

Utiliza-se o comando gs (ghostscript) para reduzir o tamanho total do pdf:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -dColorImageResolution=150 -sOutputFile=PDF-compressed.pdf original-pdf.pdf

onde:

  • -dPDFSETTINGS=/screen menor qualidade, tamanho menor.
  • -dPDFSETTINGS=/ebook para qualidade melhor, mas tamanho do pdf aumenta significantemente.
  • -dPDFSETTINGS=/prepress saída similar a opção "Prepress Optimized" do Acrobat Distiller.
  • -dPDFSETTINGS=/printer seleciona saída similar a configuração "Print Optimized" do Acrobat Distiller.
  • -dPDFSETTINGS=/default seleciona saída destinada a ser útil em uma ampla variedade de usos, possivelmente à custa de um arquivo de saída maior.


  • -dColorImageResolution=150 compressão padrão, semelhante a que é gerada pelo site smallpdf.
  • -dColorImageResolution=100 maior redução da qualidade e do tamanho do pdf.
  • -dColorImageResolution=50 ATENÇÃO redução muito grande na qualidade, deve-se verificar todas as páginas pois algumas pode se tornar ilegível em compensação o tamanho do arquivo diminui muito (NOTA: cheguei a reduzir um arquivo de 80 Mb para 11 Mb).


Outra facilidade do gs é a possibilidade de detectar imagem repetida em um mesmo arquivo utilizando o parâmetro -dDetectDuplicateImages=true. Esse parâmetro leva o Ghostscript a tentar detectar todas as imagens incorporadas no PDF várias vezes. Isso pode acontecer se você usar uma imagem como logotipo ou fundo da página, e se o software gerador de PDF não estiver otimizado para esta situação. Este costumava ser o caso das versões antigas do OpenOffice / LibreOffice.

Convertendo figuras em PDF

Com o comando convert é possível transformar um arquivo de imagem em pdf, basta apenas executar o comando:

convert figure.jpg pdf-file.pdf


fonte: https://stackoverflow.com/questions/10450120/optimize-pdf-files-with-ghostscript-or-other