You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Imagemagick convert无损转换PDF?解决扫描文件模糊问题

解决扫描PDF加深对比度且保留画质的问题

我太懂这种糟心的情况了——默认的convert命令简直是扫描件的噩梦,自动降采样+疯狂压缩,直接把清晰的手写内容搞糊,体积砍半但画质全丢。别慌,给它加几个关键参数就能搞定,既保留画质又能加深对比度。

核心问题根源

ImageMagick的convert默认处理PDF时,会用72dpi的低分辨率采样(相当于屏幕显示的低清标准),同时默认用高压缩比的算法,这就是你输出文件模糊、体积暴减的原因。要解决就得从「采样分辨率」「压缩方式」「对比度调整」三个维度入手。

具体解决方案

1. 基础版:保留高清画质+自动加深对比度

直接用这个命令,针对大多数手写扫描件都有效:

convert -density 300 input.pdf -compress LZW -contrast-stretch 0x10% output.pdf

逐个参数解释:

  • -density 300:强制以300dpi读取源PDF里的图像(扫描件常用的高清分辨率,如果你源文件是600dpi扫描的,就改成600),彻底避免降采样模糊
  • -compress LZW:用无损LZW压缩算法,既能保留100%画质,又不会让体积膨胀得太夸张(比原始8MB可能略大或接近,但绝对不会降到1.3MB那种离谱程度)
  • -contrast-stretch 0x10%:自动拉伸对比度——把图像中最亮的10%像素映射到纯白,最暗的0%(也就是纯黑)保持不变,这样手写的字迹会更黑更清晰,背景的浅灰污渍也会被弱化

2. 进阶版:转纯黑白强化手写内容

如果你的扫描件是彩色或灰度,想要彻底的黑白效果(字迹纯黑,背景纯白),可以加-monochrome参数:

convert -density 300 input.pdf -monochrome -compress LZW output_bw.pdf

或者用-threshold手动调整黑白分界点(比如-threshold 45%,数值越低,更多灰色会变成黑色):

convert -density 300 input.pdf -threshold 45% -compress LZW output_bw.pdf

3. 备选方案:用Ghostscript更稳妥(适合复杂PDF)

如果你的PDF里除了扫描图像还有矢量内容(比如嵌入的文字框),ImageMagick会把所有内容转成位图,这时候用Ghostscript处理更合适,它能保留矢量元素同时优化扫描图像:

gs -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dAutoRotatePages=/None -o output_gs.pdf input.pdf
  • -dPDFSETTINGS=/prepress:预印刷级别的设置,默认用300dpi采样,高质量压缩
  • -dAutoRotatePages=/None:避免Ghostscript自动旋转页面,保持原始排版

注意事项

  • 不要省略-density参数:这是保证画质的核心,哪怕你的源PDF本身是高分辨率,convert默认还是会降采样到72dpi
  • 压缩方式选无损:扫描件用LZW或Zip压缩(-compress Zip)都是无损的,不要用默认的JPEG压缩(会损失画质)
  • 对比度参数可以微调:-contrast-stretch的第二个数值(比如10%)可以根据你的扫描件调整,污渍多的话可以调到15%,字迹浅的话调到8%

内容的提问来源于stack exchange,提问作者Mikkel Rev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:42:57