5

我正在尝试将 pdf 转换为 tiff 图像以进行 OCR。我使用“-density 300x300 -depth 8”作为参数。第一个问题是我从 500 KB 的 pdf 文件中得到 72 MB 的 tiff 文件。第二个问题是导致 OCR 失败的结果图像质量差。在这里你可以自己看看。Adobe acrobat 阅读器生成(打印)tiff 图像: 在此处输入图像描述

ImageMagick tiff 图像: 在此处输入图像描述

差异是巨大的。如何使用 ImageMagick 获得与 Adob​​e 生成的图像一样好的效果?不需要 tiff,其他格式也可以。

UPD:我找到了“antialias”选项。现在好多了。但 OCR 结果仍然不如 Adob​​e 版本准确。

4

2 回答 2

7

我的建议是:使用 Ghostscript 命令行。因为 ImageMagick 无论如何都在后台使用 Ghostscript(对此的技术 IM 术语是:Ghostscript 是某些转换的“代表”,例如 PDF->TIFF)。

这是一个适用于多页 PDF 文件的字母大小页面的命令行:

gswin32c.exe ^
   -o page_%03d.tif ^
   -sDEVICE=tiffg4 ^
   -r720x720 ^
   -g6120x7920 ^
    input.pdf

-g...参数使用“设备点”控制输出页面的绝对宽度+高度......(并且在 720dpi 时为 6120x7920,这恰好是字母大小)。

这些 TIFF 页面...

  1. ...将是黑色+白色,
  2. ...分辨率为 720dpi,
  3. ...将被 G4 压缩并且
  4. ...将比 IM 命令行中未压缩的 300dpi 小得多

您的 IM 参数-depth 8不适合从后来的 OCR 的 pov 中获得良好的结果,因为它会在字母周围产生灰色阴影,这无济于事。

您的 OCR 结果现在应该比以前好得多。

如果您的 OCR 无法处理 TIFF G4 格式(我对此表示怀疑),那么您可以借助 Ghostscript 生成其他 TIFF 子格式。例如:

gswin32c.exe ^
   -o page_%03d.tif ^
   -sDEVICE=tiffgray ^
   -r720x720 ^
   -g6120x7920 ^
   -sCompression=lzw ^
    input.pdf

.

gswin32c.exe ^
   -o page_%03d.tif ^
   -sDEVICE=tiff24nc ^
   -r720x720 ^
   -g6120x7920 ^
   -sCompression=lzw ^
    input.pdf

tiffgray设备创建 8 位灰度输出。该tiff24nc设备创建 8 位 RGB 颜色输出。两种类型的 TIFF 当然都会大于tiffg4输出。

于 2011-05-15T18:36:25.393 回答
2

对于欧洲纸张格式 A4 和 unix/linux 使用:

gs -o output.tif -sDEVICE=tiffg4 -r720x720 -sPAPERSIZE=a4 input.pdf 
于 2017-08-01T07:29:17.043 回答