Ghostscript を使用して PDF ファイルをマージする: find 出力を gs にパイプすることは可能ですか?

Ghostscript を使用して PDF ファイルをマージする: find 出力を gs にパイプすることは可能ですか?

複数のPDFファイルを1つに結合したいのですが、この素晴らしい答えSO では、問題があります。私の pdf は同じディレクトリにないので、基本的には、次のようfindに呼び出して出力を にパイプしたいと思います。gs

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

のマニュアル ページを確認しましたがgs、ヌル終了引数に関する情報がないため、 から に引数を渡す方法がわかりませんfind。 -print0 フラグをスキップすると、最初の引数の後に呼び出しがgs実行されると思います。gs

何かアイデアはありますか? もちろん、PDF をマージする他の方法も検討していますが、これはコミュニティ サーバー上で実行されるため、新しいパッケージのインストールは避けたいと思います。

答え1

find(1)GNUと GNUを前提とした、これを行う 1 つの方法xargs(1):

find /some/dir -type f -name '*.pdf' -print0 | \
    xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf

ただし、PDF は複雑なものです。このため、結果はまちまちになることが予想されます。

関連情報