Как добавить страницы PDF в PNG в Python с помощью imagemagick
Я хотел бы преобразовать многостраничный PDF в один PNG, что может быть достигнуто через CLI с convert in.pdf -append out%d.png
per Конвертировать многостраничный PDF в одно изображение.
Могу ли я добиться того же в Python без выстрелов? В настоящее время у меня есть:
with Image(filename=pdf_file_path, resolution=150) as img:
img.background_color = Color("white")
img.alpha_channel = 'remove'
img.save(filename=pdf_file_path[:-3] + "png")
1 ответ
Я не могу вспомнить, если MagickAppendImage
был портирован на палочку, но вы должны быть в состоянии использовать wand.image.Image.composite
,
from wand.image import Image
with Image(filename=pdf_file_path) as pdf:
page_index = 0
height = pdf.height
with Image(width=pdf.width,
height=len(pdf.sequence)*height) as png:
for page in pdf.sequence:
png.composite(page, 0, page_index * height)
page_index += 1
png.save(filename=pdf_file_path[:-3] + "png")