读书人

C #怎么判断打印机缺纸

发布时间: 2013-08-09 15:16:24 作者: rapoo

C #如何判断打印机缺纸?
用C#写了个winform程序,连接的是USB端口的热敏pos打印机,(类似于超市打印小票的那种)。

怎么判断打印机里面是否还有纸。? C# WinForm
[解决办法]
if (printQueue.IsBusy)
printStateText = "打印机正忙";
else if (printQueue.IsDoorOpened)
printStateText = "打印机门被打开";
else if (printQueue.IsInError)
printStateText = "打印机出错";
else if (printQueue.IsInitializing)
printStateText = "打印机正在初始化";
else if (printQueue.IsIOActive)
printStateText = "打印机正在与打印服务器交换数据";
else if (printQueue.IsManualFeedRequired)
printStateText = "打印机出错";
else if (printQueue.IsNotAvailable)
printStateText = "打印机状态信息不可用";
else if (printQueue.IsTonerLow)
printStateText = "打印机墨粉用完";
else if (printQueue.IsOffline)


printStateText = "打印机脱机";
else if (printQueue.IsOutOfMemory)
printStateText = "打印机无可用内存";
else if (printQueue.IsOutputBinFull)
printStateText = "打印机输出纸盒已满";
else if (printQueue.IsPaperJammed)
printStateText = "打印机卡纸";
else if (printQueue.IsOutOfPaper)
printStateText = "打印机中没有或已用完当前打印作业所需的纸张类型";
else if (printQueue.QueueStatus == PrintQueueStatus.PaperProblem)
printStateText = "打印机中的纸张导致未指定的错误情况";
else if (printQueue.IsPaused)
printStateText = "打印队列已暂停";
else if (printQueue.IsPendingDeletion)
printStateText = "打印队列正在删除打印作业";
else if (printQueue.IsPrinting)
printStateText = "设备正在打印";
else if (printQueue.IsProcessing)
printStateText = "设备正在执行某种工作,如果此设备是集打印机、传真机和扫描仪于一体的多功能设备,则不需要打印.";
else if (printQueue.IsServerUnknown)


printStateText = "打印机处于错误状态";
//else if (printQueue.IsWarmingUp)
// printStateText = "打印机正在预热";

[解决办法]
点意思,个人觉得最好是供应商提供串口接口,然后先判断纸是否够,然后再打印
[解决办法]
这个问题不是C#怎么做的问题,主要还是看打印机厂商的API有没有提供这项功能
[解决办法]
那就要看厂商提供的说明书了。

读书人网 >C#

热点推荐