Mesclando arquivos PDF usando ghostscript: é possível canalizar a saída do find para gs?

Mesclando arquivos PDF usando ghostscript: é possível canalizar a saída do find para gs?

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 findchamada e canalizar a saída para gsalgo assim:

find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...

Verifiquei as páginas de manual, gsmas não há informações sobre argumentos terminados em nulo, por isso não tenho certeza de como passar os argumentos de findpara gs. Presumo que se eu pular o sinalizador -print0, a gschamada 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.

informação relacionada