Как уменьшить использование памяти палочкой?

Я использую wand и pytesseract для загрузки текста PDF-файлов на веб-сайт Django, например:

image_pdf = Image(blob=read_pdf_file, resolution=300)
image_png = image_pdf.convert('png')

req_image = []
final_text = []

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

for img in req_image:
    txt = pytesseract.image_to_string(PI.open(io.BytesIO(img)).convert('RGB'))
    final_text.append(txt)

return " ".join(final_text)

У меня он работает в сельдерее на отдельном сервере ec2. Тем не менее, поскольку файл image_pdf увеличивается примерно до 4 ГБ даже для файла PDF размером 13,7 МБ, он останавливается убийцей. Вместо того, чтобы платить за более высокую оперативную память, я хочу попытаться уменьшить объем памяти, используемой палочкой и ImageMagick. Поскольку он уже асинхронный, я не против увеличения времени вычислений. Я снял это:http: //www.imagemagick.org/Usage/files/#massiv, но я не уверен, что это можно сделать с помощью палочки. Другое возможное исправление - это способ открывать pdf в wand по одной странице за раз, а не помещать полное изображение в RAM сразу. В качестве альтернативы, как я мог взаимодействовать с ImageMagick напрямую, используя python, чтобы я мог использовать эти методы ограничения памяти?

Ответы на вопрос(1)

Ваш ответ на вопрос