我想减少硬盘上不必要的数据,所以我想缩小一些pdf。
对于我来说,使用命令行界面处理所有这些 pdf 会很困难,对吗?
是否有一个好的解决方案可以减少一个文件夹中的所有 pdf?
谢谢。
答案1
您可以使用 ghostscript 来实现这一点。
apt-get install ghostscript
然后,使用 ghostscript 来减少文件空间。
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_file.pdf original_file.pdf
要对文件夹中的所有 PDF 文件执行此操作,请执行以下操作:
for file in *pdf; do
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile="compressed_${file}" -- "$file"
done
或者,也递归到子目录:
shopt -s globstar
for file in **/*pdf; do
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress \
-dNOPAUSE -dQUIET \
-dBATCH -sOutputFile="${file//.pdf/_compressed.pdf}" -- "$file"
done
最后,压缩后删除文件(但在确保该命令适合您之前请不要运行此命令):
shopt -s globstar
for file in **/*pdf; do
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile="${file//.pdf/_compressed.pdf}" -- "$file" &&
rm -- "$file"
done
是--
为了确保这个功能即使在以 开头的文件名上也能正常工作-
,请参阅https://askubuntu.com/a/794014/85695。