我有一台Epson TM-U220A,我正在编写和c#桌面应用程序来打印收据。但它无法找到打印机。
如果我通过记事本发送内容(因此可以正常工作),打印机会打印奇怪的字符
我有以下内容:
代码:
private void FormLoad(object sender, System.EventArgs e)
{
//<<<step1>>>--Start
//Use a Logical Device Name which has been set on the SetupPOS.
string strLogicalName = "PosPrinter";
// string strLogicalName = "ESDPRT001";
try
{
//Create PosExplorer
PosExplorer posExplorer = new PosExplorer();
DeviceInfo deviceInfo = null;
try
{
deviceInfo = posExplorer.GetDevice(DeviceType.PosPrinter, strLogicalName);
m_Printer = (PosPrinter)posExplorer.CreateInstance(deviceInfo);
}
catch (Exception)
{
ChangeButtonStatus();
return;
}
//Open the device
m_Printer.Open();
//Get the exclusive control right for the opened device.
//Then the device is disable from other application.
m_Printer.Claim(1000);
//Enable the device.
m_Printer.DeviceEnabled = true;
}
catch (PosControlException)
{
ChangeButtonStatus();
}
//<<<step1>>>--End
}
错误:端口名称非法,或无法连接到设备。 在线:m_Printer.Claim(1000);
答案 0 :(得分:4)
根据我使用Epson POS的经验,安装了Windows打印机驱动程序的打印机无法以任何其他方式使用打印机。
我认为你应该尝试的第一件事是删除打印机,在SetupPOS中重新设置,然后重新尝试你的程序。
祝你好运!答案 1 :(得分:1)
请检查configuration.xml文件。端口NAme必须与xml和SetupPOS中的端口相同。
答案 2 :(得分:0)
您是否打开了打印机的打印机端口?那可能就是问题..
我们需要为打印机打开并启用以下端口:
9100到9100,协议设置为“Both” 81到1800,协议设置为“Both”