Quero mesclar vários arquivos PDF em um único. Encontradoesta ótima respostano SO, mas há um problema aqui. Meus PDFs não estão no mesmo diretório, então basicamente quero fazer uma find
chamada e canalizar a saída para gs
algo assim:
find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...
Verifiquei as páginas de manual, gs
mas não há informações sobre argumentos terminados em nulo, por isso não tenho certeza de como passar os argumentos de find
para gs
. Presumo que se eu pular o sinalizador -print0, a gs
chamada será executada após o primeiro argumento.
Alguma ideia? É claro que estou aberto a outras maneiras de mesclar os PDFs, mas gostaria de evitar a instalação de novos pacotes, pois isso será feito em um servidor da comunidade.
Responder1
Uma maneira de fazer isso, assumindo GNU find(1)
e GNU xargs(1)
:
find /some/dir -type f -name '*.pdf' -print0 | \
xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf
No entanto, os PDFs são feras complicadas. Espere resultados mistos com isso.