Electron中使用spawn方法执行shell命令‘lp -d HP_A4_Print_01 /home/ZONEVI/hp57.pdf’
时间: 2023-11-27 13:54:21 浏览: 199
你可以使用Electron的`spawn`方法来执行该命令。以下是一个示例代码:
```javascript
const { spawn } = require('child_process');
const printerName = 'HP_A4_Print_01';
const filePath = '/home/ZONEVI/hp57.pdf';
const lp = spawn('lp', ['-d', printerName, filePath]);
lp.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
lp.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
lp.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
```
在上面的代码中,我们首先定义了打印机名称和文件路径。然后,我们使用`spawn`方法创建了一个子进程,该进程执行了`lp -d HP_A4_Print_01 /home/ZONEVI/hp57.pdf`命令。我们还添加了一些事件监听器来处理子进程的输出和关闭事件。
请注意,以上代码仅适用于Linux和macOS系统。如果你使用的是Windows系统,你需要使用`cmd.exe`来执行命令。以下是一个示例代码:
```javascript
const { spawn } = require('child_process');
const printerName = 'HP_A4_Print_01';
const filePath = 'C:\\Users\\ZONEVI\\hp57.pdf';
const lp = spawn('cmd.exe', ['/c', `lp -d ${printerName} ${filePath}`]);
lp.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
lp.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
lp.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
```
阅读全文