Subprocess 由于子进程的原因,可能出现故障
我是新手,在尝试调用外部进程时遇到了一个问题 所以我想把pdf文件转换成png文件,我已经定义了参数Subprocess 由于子进程的原因,可能出现故障,subprocess,imagemagick,racket,Subprocess,Imagemagick,Racket,我是新手,在尝试调用外部进程时遇到了一个问题 所以我想把pdf文件转换成png文件,我已经定义了参数 (define convert-args (list "-density" "100") (dvi-file) "-quality" "90" (png-file))) 然后,我尝试使用以下代码调用convert: (apply system*/exit-code (convert-path) convert-args)
(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运行此命令,它将给出以下错误:
转换:执行失败的命令“%gs”
我发现gs
意味着
PostScript语言和PDF的解释器
所以我在想,Racket给我这个错误的原因是convert
试图调用gs
,但是convert
是一个子流程,gs
是另一个流程,不知何故子流程不能调用子流程,对吗?如果是,我能解决这个问题吗
提前谢谢 这在通过Imagick运行时也是典型的。解决方案通常是修改ImageMagick delegates.xml文件,在使用“gs”的各行中用“gs”的完整路径替换“gs”,其中显示
command=”“gs”
。您应该能够通过Unix系统上的哪个gs
或键入gs
找到gs的路径谢谢!@fmw42