使用 Ghostscript 合并 pdf 文件:是否可以将 find 输出通过管道传输到 gs?

pos*_*def 2 pipe find ghostscript arguments

我想将多个 pdf 文件合并为一个。在 SO 上找到了这个很好的答案,但这里有一个问题。我的 pdf 不在同一目录中,所以本质上我想进行一次find调用并将输出通过管道传输到gs,如下所示:

find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...
Run Code Online (Sandbox Code Playgroud)

我已经检查了手册页,gs但没有关于空终止参数的信息,所以我不确定如何将参数从findto传递gs。我假设如果我跳过 -print0 标志,它将gs在第一个参数之后运行调用。

有任何想法吗?我当然愿意接受其他合并 pdf 的方法,但我想避免安装新的软件包,因为这是在社区服务器上完成的。

Sat*_*ura 5

一种方法是假设 GNUfind(1)和 GNU xargs(1)

find /some/dir -type f -name '*.pdf' -print0 | \
    xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf
Run Code Online (Sandbox Code Playgroud)

然而,PDF 是一个复杂的庞然大物。预计由此产生的结果好坏参半。