-
Notifications
You must be signed in to change notification settings - Fork 0
/
print-osc.js
40 lines (31 loc) · 1 KB
/
print-osc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const { Server } = require('node-osc');
const { exec } = require('child_process');
const fs = require('fs');
const oscServer = new Server(3333, '0.0.0.0');
oscServer.on('message', function (msg) {
// console.log(`Message: ${msg}`);
console.log(msg[2]);
var requestUrl = msg[2][0];
// check URI
if(requestUrl == '/printdream'){
var dreamId = msg[2][1];
var currentPath = process.cwd();
var cache = currentPath+"/cache/pdf/";
var printer = "CUSTOM_Engineering_VKP80III";
var pdf = cache+dreamId+'.pdf';
// defaut page
if (!fs.existsSync(pdf)) var pdf = cache+'null.pdf';
var printOrder = 'lpr -P '+printer+' -#1 -o media=ZX80MMYRoll '+pdf;
console.log("SENDING", dreamId, printer, printOrder);
exec(printOrder, (err, stdout, stderr) => {
if (err) {
console.error(err);
} else {
//console.log(`stdout: ${stdout}`);
//console.log(`error: ${stderr}`);
console.log(dreamId,"SENT");
}
});
}
// oscServer.close();
});