我对某些pdf文件有问题。我需要将它们转换为jpg图像,以使其可用于OCR,但是当我将其中一些转换时,Wand将jpg转换为jpg,其中文本上有黑色背景。我看到这是关于空间颜色的常见问题。这似乎发生在将文件word转换为pdf文件的过程中,其中空间颜色变为CMYK。 Tesseract OCR仅接受空间颜色RGB。我已经写了一个可以转换的python脚本,但是我想解决这个问题。你可以帮帮我吗?谢谢。 原始页面pdf 将pdf转换为jpg
答案 0 :(得分:1)
解决方案是在调用保存之前进行设置:
page = wi(image=img)
page.background_color = Color('white')
page.alpha_channel = 'remove'
page.save(...)
感谢this堆栈溢出答案。
答案 1 :(得分:0)
这是我的代码:
def convert_pdf(pdf_file):
# Get name file
title = os.path.splitext(os.path.basename(pdf_file))[0]
basename = os.path.basename(pdf_file)
pdf = wi(filename=pdf_file, resolution=100)
pdfImage = pdf.convert("jpg")
outputPath = PATH_IMAGES+"/" + basename
if not os.path.exists(outputPath):
os.mkdir(outputPath)
i=1
for img in pdfImage.sequence:
page = wi(image=img)
page.save(filename=outputPath+"/"+title+"(*page="+str(i)+"*)"+".jpg")
imagePathConverted = outputPath+"/"+title+"(*page="+str(i)+"*)"+".jpg"
'''image = Image.open(imagePathConverted)
if image.mode != 'RGB':
rgb_image = image.convert('RGB')
rgb_image.save(imagePathConverted)'''
i += 1
return outputPath