Прилетіла днями ця іграшка.
Застосувань до неї купа - все залежить від фантазії.
Зараз розповім як на ньому друкувати з Qt.
Насамперед йдемо на сайт виробника за дровами. та не простими, а OPOS.
Вставимо чекову стрічку в принтер, тепер виймаємо харчування, затискаємо верхню кнопку (Line feed), включаємо харчування, чекаємо поки задзижчить і відпускаємо кнопку.
Надрукуються настройки і тиснемо знову верхню кнопку (Line feed) що б принтер виплюнув стрічку.
З стрічки нас цікавить тільки параметри RS232, вони зараз будуть потрібні.
Запускаємо установку дров, вказуємо спосіб з'єднання і параметри швидкості (за замовчуванням 19200) та інші, при необхідності.
Для тесту, запускаємо OPOS POS Printer configurator і налаштовуємо параметри.
У ньому ми налаштовуємо як связатсья з принтером через OPOS драйвер. Запам'ятайте device name - воно нам знадобиться.
Потім запускаємо OPOS POS Printer test і можна трохи погратися.
Якщо все працює, то пора створювати новий Qt проект (тип - на ваш вибір).
Все спілкування з термопринтером йде через ActiveX компонент OPOSPOSPrinter.ocx, тому зараз заодно покажу як працювати з ActiveX в Qt.
Для роботи нам потрібно отримати від бібліотеки реалізацію cpp і h файлів за допомогою утилитки, що входить до складу Qt - dumpcpp.
Відкриваємо віндузятную консольку, переходимо в каталог, де будемо створювати класи, і запускаємо dumpcpp:
В каталозі повинно з'явиться два файли, відкриваємо їх на вивчення, що б приблизно зрозуміти з чого почати.
Тобто як мінімум дізнаємося простір імен (OposPOSPrinter_1_9_Lib) і назва класу (OPOSPOSPrinter).
В * .pro файлі проекту додаємо:
Додаємо в проект згенеровані файли oposposprinter_1_9_lib.cpp і oposposprinter_1_9_lib.h
Заодно додайте наступний заголовки, в ньому зібрав всі використовувані статусні повідомлення:
Так само створимо новий клас, наприклад Printer. в якому будемо здійснювати безпосередньо друк.
Далі я розбирався з допомогою інтуїції і зразкового проекту (В основному: C: \ Program Files (x86) \ OLEForRetail \ ServiceOPOS \ POSPrinter \ CustomEngineering \ OPOSPOSPrinterTest_Src \ FormMainApp.frm).
Сподіваюся, запечатає. На цьому все =)
Архівчік з допоміжним класом: Printer
У printer.cpp замінити AppSettings () -> value ( «com_printer»). ToString () на device name з OPOS POS Printer configurator.