我使用这个脚本(来自这里)以减小 pdf 文件的大小:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \ -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
我在 Dolphin 操作(服务菜单)中添加了以下行:
Exec=bash -c 'pdf=$(gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=ebook.pdf "%u"); kdialog --title "Shrink" --msgbox "Done! $pdf";';
我希望输出文件的名称能够自动基于输入文件的名称,例如:input_xxx
。
答案1
如果将%u
值分配给 shell 变量,则应该可以使用标准变量扩展语法${var%.ext}_xxx
来删除.pdf
扩展名并添加您选择的后缀:
bash -c 'f="%u"; pdf=$(gs -dQUIET -dBATCH [pdf options] -sOutputFile="${f%.pdf}_xxx" "$f"); ...'