我需要在网上填写了一些申请表,它要求使用 PDF 格式上传文件。这对我不是什么难事,只需要将文件扫描为图像,然后使用 gscan2pdf 工具将它们组合成一个 PDF 文件。

但是问题来了,当我试图上传这个 PDF 文件。网页提示:上传失败,因为它超过了最大文件大小限制。于是我得想办法压缩这个 PDF 文件。

当然,有很多在线PDF压缩网站也很好用。但我手上的文件资料很重要,不方便上传到一个我不知根知底的网站上。于是我学到一些 在 linux 系统压缩 PDF 的方法。

您可以使用 Ghostscript 命令行工具压缩 PDF 文件。大多数 Linux 发行版已经包含了 Ghostscript 的开源版本。但是,您仍然可以尝试安装它以确保他肯定被安装了。

安装 ghostscript

在基于 Debian/Ubuntu 的发行版上,使用以下命令安装 Ghostscript:

1
sudo apt install ghostscript

对于 Arch Linux 发行版则使用以下命令安装 Ghostscript:

1
sudo pacman -S ghostscript

压缩命令

现在您已安装了 Ghostscript,可以使用以下命令减小PDF文件的大小:

1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_PDF_file.pdf input_PDF_file.pdf

在上面的命令中,您需要设置源文件和压缩后文件的正确路径。

压缩参数

这个命令看起来既可怕又混乱。我建议复制和粘贴大部分内容。您只需要知道怎么设置的是 dPDFSETTINGS 参数。这决定了压缩级别,从而决定了压缩PDF文件的质量。

dPDFSETTINGS 描述
/prepress(默认) 高质量 (300 dpi) 但文件较大
/ebook 中质量 (150 dpi) 适中的文件大小
/screen 低质量 (72 dpi) 但输出文件较小

请注意,有些 PDF 文件可能压缩不了多少,甚至更本无法压缩。对某些 PDF 文件使用这个命令压缩后甚至会比源文件还大。在这种情况下就无能为力。