正如标题所述,有没有办法使用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)
答案 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)