我有9k的扫描文本PDF需要清理/运行OCR。每个PDF的页面都是保存为.ccitt
的图像,我使用此Poppler(对于Windows7)命令提取并转换为.png
:
pdfimages.exe -png file_in.pdf output/images/path
清理完{1}张图片后,我使用this ImageMagick command将其重组为.png
:
pdf
结果magick.exe convert -compress Group4 -type bilevel -monochrome input/images/path file_out.pdf
实际上小于file_out.pdf
但是Group4只需要25秒就能压缩18张图像(大小从58kb到140kb不等)。 以这种方式将所有图像转换为9k + pdf需要65小时:'(
同样的事情来自GraphicsMagick:
file_in.pdf
将gm convert -compress Group4 -type bilevel -monochrome input/images/path file_out.pdf
膨胀为,超过file_out.pdf
的40倍。
我错过了什么?我认为GraphicsMagick应该比ImageMagick更精简/更精简。
答案 0 :(得分:1)
ImageMagick不是PDF等矢量图像的好处理器。它将光栅化您的PDF并将每个点保存为pdf的元素。这可能就是为什么需要这么长时间。 PDF现在是矢量shell中的光栅图像(比原始矢量图像大得多)。
如果您的输入PDF已经是黑/白,那么您只需要压缩组4。
从25 KB PDF开始
如果我只是转换它。
time magick ImageOnly.pdf result1.pdf
real 0m0.276s
user 0m0.563s
sys 0m0.038s
time magick ImageOnly.pdf -compress Group4 result2.pdf
real 0m0.275s
user 0m0.562s
sys 0m0.036s
因此,第4组压缩不会降低它的速度。
然而,质量不会太好。因此,在阅读PDF之前,应该添加-density 300。但这会减慢速度。
time magick -density 300 ImageOnly.pdf -compress Group4 result3.pdf
real 0m2.026s
user 0m2.863s
sys 0m0.182s