我正在尝试设置本地虚拟打印机。该本地可用的打印机会将打印作业发送到打印服务器,该服务器是用C#编写的Windows服务。该打印服务器将能够等待作业并进行处理。
到目前为止,我在github.com/watson/ipp-printer模块的Node.js中做得非常好。 问题是我需要从Windows服务创建一个用户进程,而在Node.js中却找不到一种方法。 但是我发现了一种使用github.com/dahall/TaskScheduler在C#中做到这一点的方法
这是我在node.js中处理作业服务器端的一个示例:
var fs = require('fs')
var Printer = require('ipp-printer')
var printer = new Printer('My Printer')
printer.on('job', function (job) {
console.log('[job %d] Printing document: %s', job.id, job.name)
var filename = 'job-' + job.id + '.ps' // .ps = PostScript
var file = fs.createWriteStream(filename)
job.on('end', function () {
console.log('[job %d] Document saved as %s', job.id, filename)
})
job.pipe(file)
})
(来源:watson / ipp-printer)
如何在C#中重现node.js服务器?
编辑:浏览堆栈溢出更深,我发现此S.O How to authenticate users every time they send print commands 但是我不确定我是否使用它来完成工作,因为我在Windows中设置的打印机后面没有任何实际的打印机。