Я пытаюсь распознать весь каталог PDF-файлов, используя pytesseract и imagemagick, но проблема в том, что imagemagick использует все пространство моей папки Temp, и, наконец, я получаю ошибку кеша, т.е. «CacheError: невозможно расширить кеш» C : / Users / Azu / AppData / Local / Temp / magick-18244WfgPyAToCsau11 ': на устройстве не осталось места @ error / cache.c / OpenPixelCache / 3883 "Я также написал код для удаления содержимого временной папки после OCR, но все еще сталкиваюсь с той же проблемой.
Вот код до сих пор:
import io
import os
import glob
from PIL import Image
import pytesseract
from wand.image import Image as wi
files = glob.glob(r"D:\files\**")
tempdir = r"C:\Users\Azu\AppData\Local\Temp"
filesall = os.listdir(tempdir)
for file in files:
name = os.path.basename(file).split('.')[0]
#print(file)
pdf = wi(filename = file, resolution = 300)
pdfImg = pdf.convert('jpeg')
imgBlobs = []
for img in pdfImg.sequence:
page = wi(image = img)
imgBlobs.append(page.make_blob('jpeg'))
extracted_texts = []
for imgBlob in imgBlobs:
im = Image.open(io.BytesIO(imgBlob))
text = pytesseract.image_to_string(im, lang = 'eng')
extracted_texts.append(text)
with open("D:\\extracted_text\\"+ name + ".txt", 'w') as f:
f.write(str(extracted_texts))
for ifile in filesall:
if "magick" in ifile:
os.remove(os.path.join(tempdir,ifile))