Ghostscript
是一个在 PDF
文档处理上功能非常强大的工具,它可以对 PDF
做很多事情,格式转换,压缩大小,OCR
识别都可以,使用 C语言
编写,执行效率高,下面以 Ubuntu 22.04
为例来记录一下安装及测试使用 Ghostscript
来压缩 PDF
达到缩小文件体积的效果。
安装
Ghostscript
下载地址,Ghostscript Download 当下最新版本是 10.05.0
,官方提供 GNU Affero
公共授权版本和 Artifex
商业授权,这里我们选择 GNU
授权的源码下载即可,得到压缩包:ghostscript-10.05.0.tar.gz
。
在压缩包目录下运行以下代码安装:
tar -xzf ghostscript-10.05.0.tar.gz
cd ghostscript-10.05.0
./configure
make && make install
安装完成后,查看一下版本号确认安装成功:
# gs -v
GPL Ghostscript 10.05.0 (2025-03-12)
Copyright (C) 2025 Artifex Software, Inc. All rights reserved.
这时候已经可以直接使用 Ghostscript
的命令 gs
来做各种任务了,关于 Ghostscript
的强大可以参考一下它的文档:
Details of Ghostscript Output Devices
High Level Devices
压缩大小
我需要把目录下的 test3.pdf
文件压缩一下,输出到 test3_d.pdf
使用下面的命令:
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=test3_d.pdf test3.pdf
这里面的参数参考上面的文档,其中的 -dPDFSETTINGS=/ebook
是选择的一个预设配置。
这里源文件是一个大小为 12MB
的合同扫描文档 PDF
,压缩后的大小为 2.5MB
,基本看不出来什么明显的分辨率降低,当然这个只是这个文件的效果,在使用的时候可以多测试一些设置参数,找到最合适的符合要求的参数进行操作。
关于预设配置的描述(机翻):
-dPDFSETTINGS=configuration
将 “distiller parameters” 预设为以下预定义设置之一:
/screen 选择类似于 Acrobat Distiller(最高版本 X)的“屏幕优化”设置的低分辨率输出。
/ebook 选择类似于 Acrobat Distiller(最高版本 X)“eBook”设置的中等分辨率输出。
/printer 选择的输出类似于 Acrobat Distiller“打印优化”(最高版本 X)设置。
/prepress 选择类似于 Acrobat Distiller“印前优化”(最高版本 X)设置的输出。
/default 选择在各种用途中有用的输出,但可能会以更大的输出文件为代价。
文档中有关于各个预设配置里相关的详细参数配置 distiller-parameters。