Я новичок в Racket и столкнулся с проблемой при попытке вызвать внешний процесс.
Поэтому я хочу преобразовать PDF-файл в PNG-файл, используя ImageMagick , у меня естьопределили мои аргументы,
(define convert-args
(list "-density" "100")
(dvi-file)
"-quality" "90"
(png-file)))
, затем я пытаюсь вызвать convert
, используя следующий код:
(apply system*/exit-code (convert-path) convert-args)
Я проверил собранную мной команду, это /usr/local/bin/convert -density 100 file.pdf -quality 90 file.png
, когда яскопируйте и вставьте его в командную строку, он работал отлично.Однако, если я выполню эту команду с Racket, она выдаст эту ошибку:
convert: FailedToExecuteCommand `'gs' ...
Я обнаружил, что gs
означает Ghostscript , то есть
Интерпретатор для языка PostScript и для PDF
, так что я думаю, причина, почему Racket дает мне этоошибка в том, что convert
пытается вызвать gs
, но convert
- это подпроцесс, а gs
- это другой процесс, каким-то образом подпроцесс не может вызвать подпроцесс, верно?Если да, то можно ли это исправить?
Заранее спасибо!