我是Racket的新手,在尝试调用外部进程时遇到了问题。
所以我想使用ImageMagick将pdf文件转换为png文件,我已经定义了我的参数,
(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运行此命令,则会出现此错误:
转换:FailedToExecuteCommand`' gs' ...
我发现gs
表示Ghostscript,即
PostScript语言和PDF的解释器
所以我在想,Racket给我这个错误的原因是convert
试图调用gs
,但convert
是一个子流程,gs
是另一个进程不知何故,子进程无法调用子进程,这是正确的吗?如果是这样,我能解决这个问题吗?
提前致谢!