我想將多個 pdf 檔案合併為一個。成立這個很好的答案就這樣,但是這裡有一個問題。我的 pdf 不在同一目錄中,所以本質上我想進行一次find
調用並將輸出通過管道傳輸到gs
,如下所示:
find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...
我已經檢查了手冊頁,gs
但沒有關於空終止參數的信息,所以我不確定如何將參數從find
to傳遞gs
。我假設如果我跳過 -print0 標誌,它將gs
在第一個參數之後運行呼叫。
有任何想法嗎?我當然願意接受其他合併 pdf 的方法,但我想避免安裝新的軟體包,因為這是在社群伺服器上完成的。
答案1
一種方法是假設 GNUfind(1)
和 GNU xargs(1)
:
find /some/dir -type f -name '*.pdf' -print0 | \
xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf
然而,PDF 是一個複雜的龐然大物。預計由此產生的結果好壞參半。