Tesseract无法识别pdf文件中的文本

时间:2017-02-18 23:09:41

标签: python pdf ocr tesseract

我尝试在Tesseract中使用PythonOCR部分PDF。工作流程是首先使用wand将PDF转换为一系列图像,然后根据此example将其发送到Tesseract。我将其应用于5个PDF但发现它无法转换一个(完全失败)。它可以很好地将PDF转换为Tiff。因此,我想可能需要在OCR过程中调整一些东西?还是我应该用来处理这种情况的任何其他工具?我尝试使用xpdfbin-win-3.04来处理这个PDF,但在其他PDF上的效果不如Tesseract ...

失败的PDF

的屏幕截图

enter image description here

输出文本

enter image description here

代码

来自wand.image import Image 从PIL导入图像作为PI 导入pyocr 导入pyocr.builders import io

tool = pyocr.get_available_tools()[0] lang = tool.get_available_languages()2

pth_str =" C:/ Users / TH / Desktop / OCR_test /" fname_list = [" 999437-Asb_1-34.pdf"] 对于fname_list中的each_file:     print each_file     req_image = []     final_text = []

# convert to tiff
image_pdf = Image(filename=pth_str+each_file, resolution=600)
image_tif = image_pdf.convert('tiff')

for img in image_tif.sequence:
    img_page = Image(image=img)
    req_image.append(img_page.make_blob('tiff'))

# begin OCR
for img in req_image: 
    txt = tool.image_to_string(
        PI.open(io.BytesIO(img)),
        lang=lang,
        builder=pyocr.builders.TextBuilder()
    )
    final_text.append(txt.encode('ascii','ignore'))

1 个答案:

答案 0 :(得分:0)

如果使用在线OCR服务没问题,您可以使用免费的ocr.space api从Python转换PDF:https://ocr.space/ocrapi#python

或者至少你可以将它用作自己的PDF OCR实现的基准。