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

如何避免Ghostscript处理PDF后提取文本出现断词问题?

解决Ghostscript处理PDF后文本被空格拆分的问题

我之前也碰到过这个糟心的情况!用Ghostscript的pdfwrite处理PDF后,不管是用pdftotext提取还是阅读器里选文本,单词总被莫名其妙的空格拆碎,确实和字距(kerning)的处理逻辑有关。下面是几个亲测有效的解决办法:

  • 优先升级Ghostscript版本
    这个是最彻底的解决方案。Ghostscript 9.24及之后的版本已经修复了pdfwrite设备处理字距时的bug,不会再把字距位移错误转换成空格。我当时把GS从9.22更到最新稳定版后,这个问题直接消失了。

  • 给旧版本添加字距保留参数
    如果暂时没法升级,可以在你的GS命令里加上-dPreserveKerning参数,强制设备保留原始的字距信息,避免错误转换。修改后的命令如下:

    gs -sDEVICE=pdfwrite \
    -dNOPAUSE -dQUIET -dPARANOIDSAFER -dBATCH \
    -dPreserveKerning \
    -sOutputFile=./output.pdf input.pdf
    
  • 尝试使用预定义的PDF设置
    要是上面的参数没起作用,试试换成-dPDFSETTINGS=/prepress这个预设,它会保留更多原始PDF的文本属性(包括字距),减少不必要的优化操作。命令示例:

    gs -sDEVICE=pdfwrite \
    -dNOPAUSE -dQUIET -dPARANOIDSAFER -dBATCH \
    -dPDFSETTINGS=/prepress \
    -sOutputFile=./output.pdf input.pdf
    

简单说下原因:早期GS的pdfwrite在压缩优化PDF时,会把用于调整字符间距的kerning信息错误解析成空格字符,导致原本连贯的单词被拆成零散的片段。上面的方法要么修复了这个bug,要么强制设备保留正确的字距逻辑,就能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:02:59