Imagemagick конвертировать PDF в JPEG: FailedToExecuteCommand `"gswin32c.exe" / PDFDelegateFailed

у меня есть PDF-файлы, которые мне нужно преобразовать в изображение. Я установил Imagemagick. У меня есть PDF с именем a.pdf, который я могу открыть (он не поврежден) в папке C:Convert

из командной строки я пытаюсь

C:Convert>convert a.pdf a.jpg

и я получаю ошибку.

convert.exe: FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -
dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEV
ICE=pamcmyk32" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -dUseCIEColor
"-sOutputFile=C:/Users/MNALDO~1.COR/AppData/Local/Temp/magick-3704HYGOqqIK5rhI%d
" "-fC:/Users//MNALDO~1.COR/AppData/Local/Temp/magick-3704vK6aHo7Ju9WO" "-fC:/Use
rs//MNALDO~1.COR/AppData/Local/Temp/magick-3704GQSF9kK8WAw6"' (The system cannot
find the file specified.
) @ error/delegate.c/ExternalDelegateCommand/480.
convert.exe: PDFDelegateFailed `The system cannot find the file specified.
' @ error/pdf.c/ReadPDFImage/797.
convert.exe: no images defined `a.jpg' @ error/convert.c/ConvertImageCommand/323
0.

2 ответов


вам нужно установить Ghostscript для растеризации векторных файлов (PDF,EPS, PS и т. д.) с помощью ImageMagick. IM будет раскошеливаться на Ghostscript при выполнении этих манипуляций (вы можете увидеть его, если используете -многословный тег в вызове IM). Вы также можете использовать Ghostscript для растеризации векторных файлов.


поскольку вам действительно нужно установить Ghostscript для этого, почему бы не удалить ImageMagick все вместе? Он просто пересылает команду в Ghostscript в любом случае, не добавляя никакого значения, просто занимает больше времени для обработки (и загрузки всего в ОЗУ, пока он на нем).

установите GhostScript и выполните команду:

gswin64c.exe -dNOPAUSE -sDEVICE=jpeg -r200 -dJPEGQ=60 -sOutputFile=foo-%03d.jpg foo.pdf -dBATCH

это идентично и быстрее, чем работает:

convert -quality 60 -density 200 foo.pdf foo-%03d.jpg