为什么我使用Ghostscript的PNG解析不是我指定的?

时间:2014-06-08 16:08:32

标签: resolution tesseract ghostscript imagemagick-convert

我在Ghostscript中使用以下命令:

gs -dSAFER -sDEVICE=png16m -dDOINTERPOLATE -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dNumRenderingThreads=8 -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -r600 -o ./test_gs/output_%d.png -c 30000000 setvmthreshold -f ./test_gs/input.pdf

input.pdf是一个8.5' x11'' pdf看起来清晰明了。由此产生的PNG产生的gs几乎看起来不太好,但大多数都是可以接受的。我刚刚注意到的一个问题是,即使我指定了600分辨率(" -r600"),ImageMagick的identify报告的分辨率仅为236.22 :

  Geometry: 5100x6600+0+0
  Resolution: 236.22x236.22
  Print size: 21.59x27.9401
  Units: PixelsPerCentimeter
  Type: GrayscaleAlpha
  Base type: GrayscaleAlpha

这是为什么?我如何修复它以使dpi更高(至少300)与Tesseract一起使用?

2 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的Ghostscript?我们在哪里可以找到要检查的PDF副本?

答案 1 :(得分:0)

有一句古老的中国谚语:

  

任何人谁可以阅读,有一个明显的优势。

     

“可以阅读的人有一个非常独特的优势。”

您的identify命令未向您dpi,它会为您提供ppcm(每厘米像素数)。它甚至会告诉你:只需看看Units: PixelsPerCentimeter

这一行

在我的书中,236.22 ppcm容易计算到600 ppi(1英寸有2.54厘米):

bc <<< "scale=2;(236.22 * 2.54)"
599.99

因此,如果你真的需要600 ppi,则无需修复命令。

如果您想要1200 ppi,请在gs命令中使用该值,而不是......