降低PDF中高分辨率图像的DPI是减小文件体积的有效方法,可通过Adobe Acrobat Pro自定义下采样、Ghostscript命令行批量处理或Python+PyMuPDF精确控制图像重嵌实现。

如果您需要减小PDF文件体积,而该PDF中包含大量高分辨率图像,则降低图像的DPI(每英寸点数)是一种直接有效的压缩手段。以下是通过图像下采样调整DPI实现PDF体积缩减的具体操作方法:
一、使用Adobe Acrobat Pro进行DPI自定义下采样
Adobe Acrobat Pro内置的“优化PDF”功能支持对嵌入图像执行有损下采样,允许用户精确设定图像分辨率阈值与目标DPI,从而在视觉可接受范围内显著降低文件体积。
1、打开PDF文件,点击右上角“工具”菜单,选择“优化PDF”。
2、在右侧面板中点击“另存为其他”→“优化的PDF”,然后点击“设置”按钮。
3、展开“图像”选项,勾选“下采样彩色和灰度图像”及“下采样单色图像”。
4、在对应下采样字段中分别输入目标DPI值:彩色/灰度图像建议设为150 DPI,单色图像可设为300 DPI。
5、点击“确定”后执行优化,并另存为新文件。
二、使用Ghostscript命令行工具批量下采样
Ghostscript是一款开源PDF处理引擎,可通过参数控制图像重采样过程,适用于无GUI环境或需自动化处理的场景,其核心机制是将PDF解码为中间位图再以指定DPI重新编码。
1、确保系统已安装Ghostscript,终端中运行命令检查版本:gs -version。
2、执行以下命令对PDF中所有图像执行DPI重采样:gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
3、若需自定义DPI而非预设配置,替换-dPDFSETTINGS=/screen为:-r150 -dDownScaleFactor=2,其中-r150表示输出图像栅格化分辨率为150 DPI,-dDownScaleFactor=2进一步缩小图像像素尺寸。
4、确认output.pdf生成成功,并校验关键图像区域是否保持清晰可读。
三、使用Python + PyMuPDF(fitz)提取并重嵌图像
PyMuPDF支持逐页解析PDF图像对象,可提取原始图像数据,用PIL进行DPI感知缩放后再重新嵌入,实现完全可控的图像降质策略,尤其适合仅对特定图像类型(如扫描页)应用下采样。
1、安装依赖库:pip install PyMuPDF Pillow。
2、编写脚本:遍历PDF每页的图像列表,调用page.get_images()获取图像元数据。
3、对每个图像调用fitz.Pixmap提取像素数据,转换为PIL Image对象。
4、使用PIL的resize()方法按比例缩放,缩放因子由原始DPI与目标DPI比值决定,例如从300 DPI降至150 DPI则使用0.5倍缩放。
5、将缩放后的图像以JPEG格式、质量设为85、不保留EXIF信息重新嵌入原位置,调用page.insert_image()完成替换。










