Python - wand 不会转换所有页面?

Python - wand does not convert all the pages?

我正在尝试将 PDF 转换为 jpg 文件。如果我转换一个大的 pdf 文件(~80 页)Wand 只转换前 22 页。

with Img(filename=file, resolution=300) as pic:
    library.MagickResetIterator(pic.wand)
    pic.scene = 1  # Start cpt of filename at 1 instead of 0
    pic.compression_quality = 100
    pic.background_color = Color("white")
    pic.alpha_channel = 'remove'
    pic.save(filename=(self.output_dir + '/result.jpg'))

我不明白为什么,任何帮助都会很棒

谢谢

我倾向于认为这与该操作的工作方式有关。当您打开 .pdf 文件时,它会将 objects 保存在内存中,这受到系统允许的限制。这意味着您的内存不允许超过 22 页。加载 80 页 pdf 页面会占用大量内存 space,您的解决方案不适用于此类任务。

我会推荐这样的东西 (credit)

使用pdf2image

pip install pdf2image

然后用它从pdf中获取图像

from pdf2image import convert_from_path
pages = convert_from_path('pdf_file', 500)

for page in pages:
    page.save('out.png', 'png')