我正在尝试将PDF转换为图片以进行OCR,但是在转换过程中质量有所降低。
Python中似乎有两种主要的将PDF转换为图像(JPG / PNG)的方法 - pdf2image 和 ImageMagick/Wand。
Python中似乎有两种主要的将PDF转换为图像(JPG / PNG)的方法 - pdf2image 和 ImageMagick/Wand。
#pdf2image (altering dpi to 300/600 etc does not seem to make a difference):
pages = convert_from_path("page.pdf", dpi=300)
for page in pages:
page.save("page.jpg", 'JPEG')
#ImageMagick (Wand lib)
with Image(filename="page.pdf", resolution=300) as img:
img.compression_quality = 100
img.save(filename="page.jpg")
但是如果我在Mac上简单地截取PDF的屏幕截图,质量比使用任何一种Python转换方法都要高。
一个好的方法是对生成的图像运行Tesseract OCR - 两种Python方法都给出平均结果,而屏幕截图则给出完美的结果。(我已经尝试过PNG和JPG格式。)
假设我有无限的时间、计算能力和存储空间。我只关心图像质量和OCR输出。很让人沮丧的是,完美的图像就在眼前,但却无法在代码中生成它。
这里发生了什么?有更好的方法可以转换PDF吗?有没有办法获得更直接的控制权?为什么屏幕截图比实际转换做得更好呢?