Como extrair as primeiras 10 páginas de cada arquivo pdf de uma pasta

5

Eu tenho 90 subpastas em uma pasta. Cada subpasta contém arquivos pdf. Total de arquivos pdf são quase 2200. Como posso extrair o número de página 3 a 10 de todos os pdfs?

Para extrair as páginas de um pdf, estou usando o seguinte comando.

pdftk *.pdf cat 3-10 output 3-10.pdf
    
por info-farmer 08.07.2016 / 19:22

1 resposta

6

Este one liner (dividido em 2 linhas para facilitar a leitura) foi testado e funciona bem no meu sistema:

find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "${0%.pdf}_3-10.pdf"' {} \;

Basta abrir uma janela do Terminal na pasta base (aquela que contém todas as subpastas) e copiar e colar todo o comando de uma linha dado acima. Será:

  1. Atravessar todas as subpastas e identificar todos os pdfs
  2. Extraia as páginas 3-10 de cada uma delas (usando seu comando de exemplo)
  3. Dê um nome de arquivo de saída sensible : o nome original com _3-10 added

E isso deve, de maneira organizada e econômica, realizar o seu propósito ...

Variação:

Opcionalmente, você pode fornecer um local de saída diferente para coletar todos os documentos PDF alterados. Por exemplo, você poderia criar uma pasta chamada ~/extracted e alterar a linha de comando acima para o seguinte:

find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "~/extracted/${0%.pdf}_3-10.pdf"' {} \;

E assim todos os arquivos pdf alterados aparecerão em ~/extracted .

Possibilidades infinitas:).

    
por andrew.46 09.07.2016 / 02:23