我设置了一个简单的节点服务器,用于自动打印图像。
代码:
var directory = process.env['USERPROFILE'] + '\\Downloads\\';
var command = 'rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt "' + directory + imageName + '" "EPSON TM-C3500"';
exec(command, function(error, stdout, stderr){});命令字符串:
rundll32 C:\Windows\System32\shimgvw.dll ImageView_PrintTo /pt "C:\Users\gperry\Downloads\badge_0_12968249.jpg" "EPSON TM-C3500"如果我在cmd.exe进程中运行该命令,它可以很好地工作,但exec命令似乎什么也做不了……在exec中运行其他命令,比如"mspaint /pt“工作得很好,所以我不知道这是怎么回事。
非常感谢您的帮助!谢谢。
发布于 2016-01-20 04:50:59
我找到了解决方案,对所有关心的人来说。
我更改了命令,以执行对批处理脚本的调用,该脚本随后调用打印命令。
var directory = process.env['USERPROFILE'] + '\\Downloads\\';
var command = 'start cmd.exe /C ' + __dirname + '\\print.bat ' + directory + imageName + ' "EPSON TM-C3500"';
exec(command, {}, function(error, stdout, stderr){});但是批处理脚本不起作用了。为什么?我不知道。我知道在批处理脚本中添加TIMEOUT 0可以解决这个问题。
TIMEOUT 0
rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt %*https://stackoverflow.com/questions/34688478
复制相似问题