我尝试在Tesseract
中使用Python
来OCR
部分PDF。工作流程是首先使用wand
将PDF转换为一系列图像,然后根据此example将其发送到Tesseract
。我将其应用于5个PDF但发现它无法转换一个(完全失败)。它可以很好地将PDF转换为Tiff。因此,我想可能需要在OCR过程中调整一些东西?还是我应该用来处理这种情况的任何其他工具?我尝试使用xpdfbin-win-3.04
来处理这个PDF,但在其他PDF上的效果不如Tesseract
...
来自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'))
答案 0 :(得分:0)
如果使用在线OCR服务没问题,您可以使用免费的ocr.space api从Python转换PDF:https://ocr.space/ocrapi#python
或者至少你可以将它用作自己的PDF OCR实现的基准。