出于某种原因,当我尝试从Matlab(pdftk *.pdf cat output combFile.pdf
)调用PDFtk时,我收到/bin/bash: pdftk: command not found
错误,但我可以在同一目录中的终端中运行相同的命令,没有任何问题。我重新启动了我的系统,但这似乎没有帮助。我正在运行Mac OSX 10.9.1
和Matlab 2013b
。我不想使用PDFtk的绝对路径,因为它需要跨平台兼容。
/usr/bin:/bin:/usr/sbin:/sbin
。当我在终端进行此操作时,我得到/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
。然后我做了which pdftk
并返回/usr/local/bin/pdftk
无论如何要将/usr/local/bin/
路径添加到Matlab?
答案 0 :(得分:1)
我相信导出PATH的想法可能对单个系统更好(注意:我还没有测试过),但是我需要将我的脚本用在几台不受我控制的Mac和Linux机器上。这就是我最终使用的(是的,我知道这会在Windows上中断,但没关系)
if(ismac)
system('/usr/local/bin/pdftk myfig[0-9][0-9].pdf cat output myfigCombined.pdf');
else
system('/usr/bin/pdftk myfig[0-9][0-9].pdf cat output myfigCombined.pdf');
end
最初,我使用if(isunix)
作为第二个命令,但可能是因为Mac的unix架构正在执行两个命令。
elseif (ispc)
system('"C:\Program Files (x86)\PDFtk Server\bin\pdftk" myfig[0-9][0-9].pdf cat output myfigCombined.pdf');
答案 1 :(得分:0)
似乎您的$ PATH环境变量未导出到Matlab。读 http://www.mathworks.com/matlabcentral/newsreader/view_thread/255609 我建议添加一个
export PATH=$PATH:<Path-to-your-PDFtk-binary>
你的.bash_profile 中的