Stan odczytu z drukarki Zebra
Pracuję nad projektem, w którym musimy użyć drukarki Zebra do etykiet z kodami kreskowymi. Używamy C #, a my drukujemy wszystko, wysyłając surowe łańcuchy ZPL do drukarki (używając winspool.drv).
Jednak musimy też czytać z drukarki i nie ma szczęścia.
Musimy uzyskać status z drukarki, która jest wyjściem do polecenia ZPL „~ HS”, abyśmy mogli określić, ile etykiet znajduje się w pamięci oczekujących na wydrukowanie. EnumJobs () z winspool.drv ma tylko zadania na szpuli systemu Windows, a gdy zostaną wysłane do drukarki, znikną z tej listy. Ale to nie znaczy, że etykieta została wydrukowana, ponieważ drukarka ma czujnik skórki i drukuje tylko jedną etykietę na raz, a my oczywiście jesteśmy zainteresowani wysyłaniem partii etykiet do drukarki.
Próbowałem czegoś podobnego (używając połączeń winspool.drv):
OpenPrinter(szPrinterName, out hPrinter, IntPtr.Zero);
WritePrinter(hPrinter, pBytes, dwCount, out dwWritten); // send the string "~HS"
ReadPrinter(hPrinter, data, buff, out pcRead);
Ale nic nie otrzymuję w wywołaniu ReadPrinter. Nie wiem nawet, czy jest to właściwy sposób na to.
Ktoś tam poradził sobie z tym wcześniej?
Dzięki.