Beispiel #1
0
        public void PrinterOnline(ZebraCardPrinter zebraCardPrinter, string firmwareVersion)
        {
            Connection newConnection = null;

            try {
                DiscoveredPrinter newPrinter = null;
                newConnection = zebraCardPrinter.Connection;
                newConnection.Open();

                Dictionary <string, string> discoveryData = DiscoveryUtilCard.GetDiscoveryDataMap(newConnection);

                if (oldPrinter is DiscoveredUsbPrinter)
                {
                    newPrinter = new DiscoveredUsbPrinter((newConnection as UsbConnection).SimpleConnectionName, discoveryData);
                }
                else if (oldPrinter is DiscoveredCardPrinterNetwork)
                {
                    newPrinter = new DiscoveredCardPrinterNetwork(discoveryData);
                }
                else
                {
                    throw new ArgumentException("Not a reconnectable printer type");
                }

                ReconnectionFinished(newPrinter);
            } catch (Exception e) {
                MessageBoxHelper.ShowError("Could not reconnect to printer: " + e.Message);
            } finally {
                ConnectionHelper.CleanUpQuietly(zebraCardPrinter, newConnection);
            }
        }
        /*
         * Connect to a printer using the Zebra API
         */
        private void ConnectToPrinter()
        {
            DiscoveredUsbPrinter discoveredPrinter = UsbDiscoverer.GetZebraUsbPrinters(new ZebraPrinterFilter())[0];
            Connection           connection        = discoveredPrinter.GetConnection();

            connection.Open();
            printer = ZebraPrinterFactory.GetInstance(connection);
            ConnectionLabel.Text = "Printer Connected!";
        }
Beispiel #3
0
 public void Connect()
 {
     usbPrinter = UsbDiscoverer.GetZebraUsbPrinters(new ZebraPrinterFilter()).FirstOrDefault();
     if (usbPrinter == null)
     {
         throw new ArgumentException("Принтер не найден!");
     }
     connection = usbPrinter.GetConnection();
     Connected  = true;
 }
Beispiel #4
0
        private void commandPrint()
        {
            UsbConnection connection = null;

            try
            {
                DiscoveredUsbPrinter        usbPrinter = null;
                List <DiscoveredUsbPrinter> printers   = UsbDiscoverer.GetZebraUsbPrinters(new ZebraPrinterFilter());
                if (printers == null || printers.Count <= 0)
                {
                    MessageBox.Show("没有检测到打印机,请检查打印机是否开启!");
                    myEventLog.LogInfo("没有检测到打印机,请检查打印机是否开启!");
                    return;
                }
                usbPrinter = printers[0];

                connection = new UsbConnection(usbPrinter.Address);

                connection.Open();
                var printer = ZebraPrinterFactory.GetInstance(connection);

                //printer.SendCommand("~JA");


                var startTime = DateTime.Now;
                var command   = GetCommandFromDb();
                Console.WriteLine($"生成打印命令花费时间:{(DateTime.Now - startTime).TotalMilliseconds}ms");


                System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
                startTime = DateTime.Now;

                for (int i = 0; i < 20; i++)
                {
                    printer.SendCommand(command);
                    Console.WriteLine($"打印内容发送成功!花费时间:{(DateTime.Now - startTime).TotalMilliseconds}ms");
                    Thread.Sleep(200);
                    startTime = DateTime.Now;
                }
                //System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));

                //printer.SendCommand(command);
                //Console.WriteLine($"打印内容发送成功!花费时间:{(DateTime.Now - startTime).TotalMilliseconds}ms");


                //Thread.Sleep(5000);

                //printer.SendCommand("~JA");
            }
            catch (Exception e)
            {
                connection.Close();
            }
        }
Beispiel #5
0
        public override ConnectionA GetConnection()
        {
            DiscoveredUsbPrinter        usbPrinter = null;
            List <DiscoveredUsbPrinter> printers   = UsbDiscoverer.GetZebraUsbPrinters(new ZebraPrinterFilter());

            if (printers == null || printers.Count <= 0)
            {
                //MessageBox.Show("没有检测到打印机,请检查打印机是否开启!");
                myEventLog.LogInfo("没有检测到打印机,请检查打印机是否开启!");
                return(null);
            }
            usbPrinter = printers[0];

            return(new UsbConnection(usbPrinter.Address));
        }