我目前正在开发Google tesseract ocr工作流程。从PDF生成tif有两种选择:
的Ghostscript:
gswin64c.exe -r300x300 -dBATCH -dNOPAUSE -sDEVICE = tiff24nc -sOutputFile = thetif.tif -sCompression = lzw thepdf.pdf -c quit -q
Imagemagick - 转换:
convert -background white -alpha off -density 300 thepdf.pdf -depth 8 -compress zip thetif.tif
对于(任意)示例文件,提取的tif用于gswin64c,大约是转换结果的五倍。此外,使用转换(!)然后使用gswin64c,文本更平滑,质量更高。所以我更喜欢使用转换,但不幸的是,gswin64c提取的时间大约是4倍。多页pdf 30页(170秒对40秒)。
有没有机会提高gswin64c的质量(不会极大地扩大输出文件)或加速转换?
答案 0 :(得分:1)
对我而言,这似乎是速度与质量的通常权衡。你喜欢转换质量,但它太慢,你喜欢Ghostscript的速度,但你觉得质量较低。
当然这表明你不能同时拥有两者?
无论如何,你是否意识到ImageMagick转换调用Ghostscript来呈现PDF文件?因此,无论您使用哪种路线,都使用Ghostscript。
(当然)完全有可能转换是post = -processing图像,但我怀疑它不是。如果你看看转换是如何工作的,你可以找出它为Ghostscript提供的命令行并使用它。
看起来转换器使用的是不同的压缩过滤器(Flate而不是LZW),并且可能正在指定抗锯齿。您可以使用TextAlphaBits和GraphcisAlphaBits或tiffscaled设备来获得抗锯齿。
当然,使用消除锯齿会使文本更流畅(如果你喜欢模糊的文字),但需要更长的时间。
答案 1 :(得分:0)
我不使用谷歌tesseract ocr工作流程,但你的命令看起来很奇怪。为什么两个转换?
输入图像通常在转换后出现,但在您的情况下,-density将首先出现。
我会尝试这样的事情,看看会发生什么:
imagemagick - convert -density 300 thepdf.pdf -background white -alpha off -depth 8 -compress zip thetif.tif