有没有办法使用Python在一个文件夹中OCR所有pdf文件?

时间:2018-05-29 14:24:08

标签: python

正如标题所述,有没有办法使用Python在一个文件夹中OCR所有pdf文件?我在下面有这个代码,但它一次只能OCR一个文件并提取文本。我想对文件夹中的所有pdf进行一般OCR。如果有可能,请告诉我。

from wand.image import Image
from PIL import Image as PI
import pyocr
import pyocr.builders
import io

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

req_image = []
final_text = []

image_pdf = Image(filename="./PDF_FILE_NAME", resolution=300)
image_jpeg = image_pdf.convert('jpeg')

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)

1 个答案:

答案 0 :(得分:0)

我喜欢glob模块 您可以匹配给定文件夹的模式 这是您的代码,其中包含一些编辑内容,以说明它是如何工作的。

import glob
pdfs = glob.glob("./*.pdf")

for pdf in pdfs:
    image_pdf = Image(pdf, resolution=300)
    image_jpeg = image_pdf.convert('jpeg')
    txt = tool.image_to_string(
        PI.open(io.BytesIO(image_jpeg)),
        lang=lang,
        builder=pyocr.builders.TextBuilder()
    )
    final_text.append(txt)