|
@@ -3,6 +3,7 @@ import { printDirect, getPrinters, getDefaultPrinterName, getJob } from 'printer
|
|
|
|
|
|
const REQUEST_PRINTER_NAME = 'request_printer_name'
|
|
|
const SHOW_PRINT_STATUS = 'show_print_status'
|
|
|
+const DOWNLOAD_DATA = 'download_data'
|
|
|
|
|
|
const printQueue = []
|
|
|
|
|
@@ -23,7 +24,6 @@ const removeRequestQueued = id => {
|
|
|
printQueue.splice(index, 1) !== 0
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
*
|
|
|
* @param {*} id
|
|
@@ -82,7 +82,7 @@ const doPrint = (socket, request) => {
|
|
|
|
|
|
request.data = requestQueued.data
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (!request.printer) {
|
|
|
request.printer = getDefaultPrinterName()
|
|
|
}
|
|
@@ -96,8 +96,15 @@ const doPrint = (socket, request) => {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ const data = request.data.replace(mimeTypeRegex[0], '')
|
|
|
+
|
|
|
+ if (request.printer == 'download') {
|
|
|
+ socket.emit(DOWNLOAD_DATA, data)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
const format = getFormat(mimeTypeRegex[0])
|
|
|
- const buffer = Buffer.from(request.data.replace(mimeTypeRegex[0], ''), 'base64')
|
|
|
+ const buffer = Buffer.from(data, 'base64')
|
|
|
|
|
|
printDirect({
|
|
|
data: buffer,
|