从PHP运行Photoshop脚本?
我正在创建一个web服务,它围绕用户根据他们在网页上输入的详细信息创建自定义图像文件。我已经完成了PSD文件,以及附带的脚本,但是如何直接从PHP代码启动Photoshop脚本呢从PHP运行Photoshop脚本?,php,photoshop,photoshop-script,Php,Photoshop,Photoshop Script,我正在创建一个web服务,它围绕用户根据他们在网页上输入的详细信息创建自定义图像文件。我已经完成了PSD文件,以及附带的脚本,但是如何直接从PHP代码启动Photoshop脚本呢 我曾研究过使用液滴,但从我所看到的情况来看,我只能使用这些液滴在文件上执行录制的操作 看起来唯一可以完成的方法是记录一个加载脚本的操作,并从该操作中创建一个水滴,然后通过作为参数的PSD从PHP执行它。它没有我想要的那么优雅,但似乎没有任何其他建议。这是可能的,但你需要提供更多关于你希望实现的细节。这个服务器是mac还
我曾研究过使用液滴,但从我所看到的情况来看,我只能使用这些液滴在文件上执行录制的操作 看起来唯一可以完成的方法是记录一个加载脚本的操作,并从该操作中创建一个水滴,然后通过作为参数的PSD从PHP执行它。它没有我想要的那么优雅,但似乎没有任何其他建议。这是可能的,但你需要提供更多关于你希望实现的细节。这个服务器是mac还是windows?能够运行Photoshop的东西 下面是一个在终端内的mac上使用PHP中的Photoshop执行PS脚本的内联示例
$ php -r "`open -b \"com.adobe.Photoshop\" myPhotoshopScript.jsx`;"
或者更好的是,使用和组件来管理这一点
use Symfony\Component\Process\Process;
use Symfony\Component\Process\ProcessBuilder;
use Symfony\Component\Filesystem\Filesystem;
$fs = new Filesystem();
$photoshopProcessBuilder = new ProcessBuilder();
$photoshopProcessBuilder->setPrefix('open -b "com.adobe.Photoshop"');
if ($fs->exists($photoshopScriptFile)) {
$photoshopProcessBuilder->setArguments(array($photoshopScriptFile));
$photoshopScriptRunnerProcess = $photoshopProcessBuilder->getProcess();
$photoshopScriptRunnerProcess->run();
if (!$photoshopScriptRunnerProcess->isSuccessful()) {
throw new \RuntimeException($photoshopScriptRunnerProcess->getErrorOutput());
}
// do some other stuff
}
请提供一些您尝试过的代码,以便问题更容易理解。我不知道如何将其表达得更简单。没有代码,因为我在问如何才能完成它。PHP脚本对Photoshop脚本(.jsx)进行编辑,当对匹配的PSD运行时,将按照用户指定进行所有编辑。似乎没有一种方法可以从命令行或类似的方式启动这两个脚本,所以我如何才能完成呢?不幸的是,我不知道Photoshop脚本是如何工作的。你的意思是想用PHP打开一个文件吗?我想用Photoshop脚本将更改提交到Photoshop.PSD文件。我知道这是可以做到的,我只是不知道怎么做。嗨,你有解决办法,如果有请与我分享。谢谢你的回复。所讨论的服务器是Windows,Symfony方法看起来确实是一种更好的方法。我在手机上,无法查看,但Symfony是否有用于访问COM对象的库?如果我可以访问Photoshop的COM API来阻止实际的GUI在服务器上启动,那就太完美了。@pablo Cool,我还需要在Windows上进行实验,应该非常类似。什么是COM API?我从未听说过这件事