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.

questionAnswers(5)

yourAnswerToTheQuestion