开源PDF处理工具——Ghostscript的安装和使用
🔧 1. 安装 Ghostscript
Windows
- 下载 Ghostscript:
-
选择适合你的 Windows 版本的安装包(通常是
gs**w64.exe
)。
- 安装后,记住 Ghostscript 的安装路径,通常是:
C:\Program Files\gs\gs10.00.0\bin\
- 将
gswin64c.exe
添加到系统环境变量,方便在命令行中使用。
Mac & Linux
使用 Homebrew(Mac)或包管理器(Linux)安装:
brew install ghostscript # Mac
sudo apt install ghostscript # Ubuntu/Debian
sudo dnf install ghostscript # Fedora
📂 2. 使用 Ghostscript 压缩 PDF
命令格式
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
参数解释
-
-sDEVICE=pdfwrite
→ 选择 PDF 输出模式 -
-dCompatibilityLevel=1.4
→ 设定 PDF 兼容级别(1.4 兼容大多数 PDF 读者) -
-dPDFSETTINGS=/screen
→ 选择压缩质量(下面有更多选项) -
-dNOPAUSE -dQUIET -dBATCH
→ 让命令运行时不暂停、不显示详细信息 -
-sOutputFile=output.pdf
→ 设置输出文件 -
input.pdf
→ 你的原始 PDF 文件
不同压缩等级
你可以更改 -dPDFSETTINGS
以选择不同压缩质量:
选项 | 作用 | 适用场景 |
---|---|---|
/screen |
最强压缩,低质量 | 仅用于屏幕阅读 |
/ebook |
中等压缩,中等质量 | 适合电子书阅读 |
/printer |
适中压缩,高质量 | 适合打印 |
/prepress |
低压缩,高质量 | 用于出版印刷 |
/default |
默认压缩 | 介于 /screen 和 /printer 之间 |
例如:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf
📂 3. PDF 转换(格式互转)
Ghostscript 可将 PDF 转换为 JPG、PNG、TIFF、EPS、PS 等格式:
gs -sDEVICE=pngalpha -r300 -o output.png input.pdf
-
-sDEVICE=pngalpha
→ 转换为 PNG(支持透明背景) -
-sDEVICE=jpeg
→ 转换为 JPEG -
-sDEVICE=tiffg4
→ 转换为黑白 TIFF(适合传真)
示例:PDF 转图片
gs -sDEVICE=jpeg -dJPEGQ=90 -r300 -o output.jpg input.pdf
-
-dJPEGQ=90
→ 设置 JPEG 质量(0-100) -
-r300
→ 分辨率 300 DPI(适合打印)
📂 4. PDF 合并(多个 PDF 文件合并)
Ghostscript 可以将多个 PDF 文件合并成一个:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf file1.pdf file2.pdf file3.pdf
📂 5. PDF 页面拆分(按页拆分)
提取 PDF 的某些页面:
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=1,3,5 -sOutputFile=output.pdf input.pdf
-sPageList=1,3,5
→ 仅保留第 1、3、5 页
📂 6. PDF 加密 & 解密
加密 PDF(设置密码)
gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -q -sOutputFile=secure.pdf -dOwnerPassword=ownerpass -dUserPassword=userpass input.pdf
-
-dOwnerPassword=ownerpass
→ 设置 所有者密码(可更改权限) -
-dUserPassword=userpass
→ 设置 用户密码(只读)
解密 PDF(移除密码)
如果你知道 PDF 密码,可以使用:
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=unlocked.pdf -c .setpdfwrite -f input.pdf
📂 7. PostScript (PS) 和 PDF 互转
Ghostscript 主要是一个 PostScript 解释器,因此可以轻松处理 PS 和 PDF:
-
PS 转 PDF
gs -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps
-
PDF 转 PS
gs -sDEVICE=ps2write -sOutputFile=output.ps input.pdf
📂 8. 更改 PDF 版本
如果你需要转换 PDF 版本(如 PDF 1.7 降级为 PDF 1.4),可以这样做:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=output.pdf input.pdf
-dCompatibilityLevel=1.4
→ 转换为 PDF 1.4
🔥 总结:Ghostscript 主要用于
✅ PDF 压缩(降低文件大小)
✅ PDF 转图片(JPG、PNG、TIFF)
✅ PDF 合并 & 拆分(多文件合并、提取特定页面)
✅ PDF 加密 & 解密(设置或移除密码)
✅ 格式转换(PDF ↔ PostScript)