¿Cómo reducir el uso de memoria de la varita?

Estoy usando wand y pytesseract para subir el texto de los archivos PDF a un sitio web de django de la siguiente manera:

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)

Lo tengo ejecutándose en apio en un servidor ec2 separado. Sin embargo, debido a que image_pdf crece a aproximadamente 4 gb incluso para un archivo pdf de 13.7 mb, el asesino de Oom lo está deteniendo. En lugar de pagar por un RAM más alto, quiero tratar de reducir la memoria utilizada por Wand e ImageMagick. Como ya es asíncrono, no me importa aumentar los tiempos de cálculo. He desnatado esto:http: //www.imagemagick.org/Usage/files/#massiv, pero no estoy seguro de si se puede implementar con varita. Otra posible solución es una forma de abrir un pdf en la barra de una página a la vez en lugar de poner la imagen completa en la RAM de una vez. Alternativamente, ¿cómo podría interactuar con ImageMagick directamente usando Python para poder usar estas técnicas de limitación de memoria?