首页 > 解决方案 > 执行php命令后台窗口

问题描述

我正在开发一个基于桌面的php应用程序,我需要以Floyd-Steinberg格式打印一个人的图像。我以 RGB 格式捕获图像并将图像转换为Floyd-Steinberg抖动图像。我正在使用 ImageMagick 将 RGB 图像转换为抖动图像,在我的 windows cmd 提示符中传递命令,以便转换并保存图像。我想在我的主应用程序中执行该命令,因此当我单击图像并给出打印给定命令时,应该自动从数据库中获取该图像并转换该图像,并且它应该以抖动格式打印。我正在使用javascript传递所有这些数据通过斑马打印机打印数据。通常我尝试将图像转换为抖动图像,但我无法将图像转换为grf图像(注意:当我单击打印按钮时,打印图像时不应显示任何提示)。

那么有什么方法可以将 ImageMagick 应用程序嵌入到我的应用程序中并传递命令来打印图像

标签: javascriptphpdithering

解决方案


你很幸运,我碰巧有一门你可能会觉得有趣的课

https://github.com/ArtisticPhoenix/MISC/blob/master/BgProcess.php

它能够在 windows 和 linux 中执行后台命令(自动)

相关的windows代码是这样的:

    $WshShell = new \COM('WScript.Shell');
    $cmd = 'cmd /C '.$phpPath.' '.$script;
    $oExec = $WshShell->Run($cmd, 0, false);

应用程序文件$phpPath的路径在哪里,并且是命令。上面的类将这个和 linux 背景包装成一个友好的界面。php.exe$scriptput & at the end

PS Windows 代码需要一些时间才能解决...... :)

该类非常易于使用,例如:

  new BgProcess('path to php file to run', 'arg1', 'arg2' ...);

就是这样。因为这是一个 shell 命令,所以所有的“args”都应该是字符串。

您可能还会发现这些有用

https://github.com/ArtisticPhoenix/MISC/blob/master/ProcLock.php单进程锁定,即php的互斥锁。

https://github.com/ArtisticPhoenix/Cli命令行参数管理器,它也在作曲家上。

干杯。


推荐阅读