带窗口服务的网络打印

时间:2010-10-22 10:47:13

标签: c# network-printers

我有一个朋友用窗口形式做了同样的事情 我需要的是将它变成窗口服务。

Window服务程序(打印控制器服务)将用作中央打印机控制器 根据具体情况,我会将打印作业发送到网络上的不同打印机(打印机安装在USB上)。 已经可以进行测试打印,但是当我列出已安装的打印机时,这些网络打印机未列出。

但是在我朋友的程序中,他需要做的就是将打印机名称设置为机器的IP地址,对于该机器,只需确保将其设置为默认打印机即可。

一旦我的朋友设置了ipaddress并触发打印,它就会被打印到正确的打印机上。但对于我的情况,窗口服务已经没有列出网络打印机,如果打印机名称错误,它将不会打印。

对于我的窗口服务,我正在使用本地系统 听说过用打印机的相关IP地址创建一个本地端口,但还没有设法测试。

希望有人能够提供一些指导

2 个答案:

答案 0 :(得分:3)

从Windows服务打印不是recommended。 Windows服务在后台运行,没有UI。 你可以看看: Print html document from Windows Service in C# without print dialog

修改

  

“对于我的窗口服务,我正在使用   本地系统。“

我猜您需要使用different account作为您的服务(域帐户),以便您可以访问网络资源。

答案 1 :(得分:0)

有点放弃使用窗口服务,因为当我记录我的计算机可以访问的打印机时,它只会显示本地安装的那些,这些网络打印机无法以某种方式识别。

尝试使用标准TCP / IP端口,设置没有问题,但甚至无法进行测试打印。

决定使用窗口形式进行权衡,根据映射设置默认打印机并发出打印命令。经过测试并且有效。这样,用户每天只需要登录计算机,但优点是在权限和访问权限方面不需要额外设置的问题