Я делаю простой convert -verbose -density 300 input.pdf -quality 100 image-%003d.jpg
, который разбивает файл PDF на серию изображений, по одному для каждой страницы. В этом случае я делаю это на большом 800-страничном документе. Не уверен, что именно происходит, но в конечном итоге imagemagick потребляет все оставшиеся 16 ГБ памяти моей системы, а затем выполняет дамп памяти без вывода изображений.
Вот как выглядит форма вывода, при условии, что каждая /tmp/magick-*
является одной страницей, сохраняемой во временных файлах. Не уверен, что делает первая строка.
'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r300x300' '-sOutputFile=/tmp/magick-68824mpuDOrU2urYm%d' '-f/tmp/magick-6882498G4VzlCsOJk' '-f/tmp/magick-6882475lzlTzRy8pk'
/tmp/magick-67235ClzIbj1qM7Yb290 PNG 1707x2633 1707x2633+0+0 8-bit sRGB 112324B 0.390u 0:00.208
...
/tmp/magick-67235ClzIbj1qM7Yb291 PNG 1707x2637 1707x2637+0+0 8-bit sRGB 73753B 0.220u 0:00.320
Aborted (core dumped)
Могу ли я заставить imagemagick делать это в сегментах, чтобы он не держал все в оперативной памяти?
(ImageMagick 7.0.10-9 Q16 x86_64 2020-04-26)