Просто используйте ImageMagick's convert
.
convert foo.pdf foo.png
Вы можете более точно контролировать номер страницы с помощью строк формата, например ::100100
convert foo.pdf "foo-%03d.png"
И, конечно, есть множество других опций ImageMagick, но основная команда выше - это все, что вам нужно в большинстве случаев.
Редактировать: о вашем "bad.pdf":
Краткий ответ - добавить опцию -dUseCropBox
в команду gs или -define pdf:use-cropbox=true
в команду конвертирования.
gs \
-q \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pnggray \
-g2550x3300 \
-dPDFFitPage \
-dUseCropBox \
-sOutputFile=output.png \
input.pdf
или
convert \
-density 300 \
-define pdf:use-cropbox=true \
foo.pdf \
foo.png
Если вы просматриваете PDF в текстовом редакторе, вы видите, что указаны CropBox и MediaBox, и что CropBox намного меньше.