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

如何将多页彩色PDF转为纯黑白并保持文本可读性?(不限于ImageMagick)

将彩色PDF转换为2色黑白(非灰度)且保留文本质量的方法

ImageMagick的convert命令会先把PDF栅格化为位图再处理,这是导致文本像素化、模糊的核心原因。以下是几种能保留矢量文本清晰度的解决方案:

方案1:使用Ghostscript(推荐)

Ghostscript可直接处理PDF的矢量元素,不会将文本转为位图,能完美保留原文本质量。执行命令:

gs -sDEVICE=pdfwrite \
   -dProcessColorModel=/DeviceGray \
   -dColorConversionStrategy=/Gray \
   -dOverrideICC \
   -dThreshold=1.0 \
   -dPDFSETTINGS=/prepress \
   -dNOPAUSE -dBATCH \
   -sOutputFile=output.pdf input.pdf
  • 参数说明:
    • -dThreshold=1.0:将灰度值高于阈值的内容转为白色,低于的转为纯黑色,实现严格的2色效果
    • -dPDFSETTINGS=/prepress:保持高输出质量,也可按需改为/screen(更快)或/printer
    • 其余参数用于强制颜色转换为黑白并确保PDF结构合规

方案2:优化ImageMagick命令(适合必须用ImageMagick的场景)

若一定要用ImageMagick,需提高栅格化分辨率并改用-threshold替代-posterize,减少像素化:

convert -density 600 input.pdf -threshold 50% -type bilevel output.pdf
  • -density 600:以600DPI高分辨率栅格化PDF,尽可能降低文本锯齿
  • -threshold 50%:将灰度值超过50%的区域转为白色,低于的转为黑色,比-posterize更适配黑白二值化需求
  • -type bilevel:强制输出为纯黑白二色图像

方案3:使用Mutool(轻量高效)

Mutool是MuPDF配套工具,处理PDF速度快且能保留矢量内容,命令如下:

mutool convert -o output.pdf -O compress -c gray -t 0.5 input.pdf
  • -c gray:将颜色转换为灰度
  • -t 0.5:设置阈值为0.5,灰度值高于此值的转为白色,低于的转为纯黑色
  • -O compress:压缩输出PDF,减小文件体积

内容的提问来源于stack exchange,提问作者Christopher Nuzzi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:41:01