在 Automator 中使用 Ghostscript?

Using Ghostscript in Automator?

我在自动化方面有点菜鸟,我希望这不是一个愚蠢的问题。

我有一个 shell 脚本 compdf.sh 以 pdf 作为输入,将其展平并压缩,并将其作为新文件保存在同一目录中,后缀为 '_comp.pdf':

#!/bin/sh

OIFS=$IFS
IFS=‘.’
arr=()

prefix=${arr[0]}
suffix='_comp.pdf'
fout=$prefix$suffix
echo "Compressed file to be saved as $fout"

IFS=$OIFS

/usr/local/bin/gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dPDFSETTINGS=/ebook \
   -sOutputFile="$fout" ""

通过发出命令 compdf.sh <input_file>,此脚本在终端中就像一个魅力一样工作。我想使用 automator 将它变成一项服务,但是当 运行 时它会发出错误(在 "Run Shell Script" 框中简单地说 "action failed":

(*注意:我添加了 "Get Specified Finder Items",所以我可以在 Automator 中看到结果。)显然我没有正确地将输入传递给脚本,但是 this page 说输入是通过 -$n。有帮助吗?

脚本要求您指定输入 --> "$@"

/usr/local/bin/compdf.sh "$@"