Raw BT Printer | Драйвер для печати из html и JS на POS принтер



Реп: (42)
Raw BT Printer
версия: 5.55.0 (бесплатно на русском языке)
Последнее обновление программы в шапке: 02.06.2023
Прикрепленное изображение
Скриншоты

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение






СПЕЦИАЛЬНАЯ ВЕРСИЯ. Делаю бесплатным приложение. Премиум функции не требуют оплаты. Важно. Русский язык должен быть выбран основным на телефоне.


Сделал версию 5.50 бесплатной на 100 лет

Краткое описание:
Драйвер печати для термопринтеров.
Описание
1. Стандартная служба печати. Т.е. можно печатать из хрома, google docs и других приложений. К сожалению, таких программ мало и не всегда они могут адаптироваться к узкой бумаге.
2. Встроенный браузер печатает страницы через снятие длинного скриншота.
3. Простой редактор текста для печати заметок.
4. Печать текстовых файлов . plain/text
5. Печать картинок с возможностью выбора подходящего графического фильтра
6. Печать PDF файлов (целиком, страницы, возможность выбрать нужную часть страницы)
7. Виртуальный принтер. Можно отлаживать ESC/POS команды без физического принтера. Возможность автоматического экспорта изображений
8. Служба аналогичная p910nd .
9. Автоматическая печать новых файлов из указанных директорий
10. Интеграция с другими программами. Для печати достаточно поделиться с приложением. Реализован механизм взаимодействия с 1С.
11. Возможность взаимодействия с программой из html страниц через js


Русификация принтеров
Управление потоком данных - для решения проблем печати

 Лицензия. Зачем. Решение проблем

Видео инструкции на Youtube


Печать чека самозанятого
Для качественной печати используйте бесплатное приложение Печать чека НПД

Требуется Android: 5.1 или более поздняя
Русский интерфейс: Да

Разработчик: 402d
Домашняя страница: http://rawbt.402d.ru/
Google Play: https://play.google.com/store/apps/details?id=ru.a402d.rawbtprinter

Прикрепленные изображения
Прикрепленное изображение


Сообщение отредактировал oum - 02.06.23, 22:25
Причина редактирования: Обновление: 5.55.0 продление премиума на 100 лет



Реп: (0)
* oum, у меня какой то глюк случился и теперь пытаюсь понять в чем дело: печатал по блютуз до не давнего времени и всё было отлично - принтер останавливался печатать сразу как кончалась инфа которую печально, а затем что то протзошло и он стал после печати делать сантиметровую прокрутку - некий отступ.
В чем может быть дело



Реп: (42)
Прогон в простейшем случае дают переносы строк.

Но у меня сейчас реализованы следующие способы взаимодействия:
- передача сырых данных на принтер.
- работа в режиме службы печати (стандартным принтером)
- Обработка андроид интентов "Поделиться" (Intent.SEND) и "Открыть" (Intent.View)

в общем https://github.com/402…awbt/MainActivity.java вот тут 16 основных перечислены.

Пожалуйста, задавая вопрос уточняйте как Вы используете программу.

Ну а если включить режим телепата, то скорее всего в php коде затесались переносы после ?> в конце какого-то файла.



Реп: (42)
Текущая 3.1.8
Добавлены еще 2 размера бумаги "58mm Roll Max" и "80mm Roll Max" - длиннее лист бумаги андроид сделать не позволяет.
Немного доработал UI. Большая розовая кнопка печати в броузере ушла в шапку. Значок печати на таком же месте добавлен для единообразия в других режимах.
Функции выбора добавлены к иконке текстового файла и превью картинки
Постарался отловить все nullPointer exception.

3.1.9 Оптимизировал потребление оперативной памяти. В свет не будет выпускаться , так как уже

Выложена для бета тестеров версия 3.2.0
Можно ввести свои дополнительные esc команды.

Правила ввода
1b;40 - шестнадцатеричные значения через точку запятую
01-1f можно писать мнемониками ESC;GS;CR;LF см стандартную ascii таблицу
21-7f - нижняя половина кодовой таблицы - просто символами ESC;@;ESC;t;11 - стандартная моя инициализация принтера

Если начнете с ESC;@; - это отменит мою инициализацию. Т.е. можете перекрыть ее целиком.
После задания печати можно добавить нужное кол-во пустых строк и/или например команду отреза бумаги

http://content.epson.d…D/downloads/escpos.pdf - FAQ по основным командам
еще ссылки на документацию http://rawbt.ru/toolkit.html

Сообщение отредактировал oum - 19.03.19, 22:10



Реп: (30)
Сорри туплю. Все работает с ESC командами. Оказывается ставил ESC F вместо ESC E.
Но пункт emphasized в настройках не помешал бы :)

Сообщение отредактировал XunnuPoMa - 19.03.19, 22:23



Реп: (42)
там очень навороченный раздел не помещал бы ;)
как минимум нужны еще 2 хука для кастомизации вокруг картинок.
еще не помешала настраиваемая шапка и подвал.
но все упирается, в то, что принтеры совместимы только частично.
и универсального решения не вижу.
стару одни коды, епсону другие. Кто-то из вендоров еще что-то придумал.

Не забывайте, я не профессиональный андроид разработчик.
Вот на старости лет решил еще java выучить. (fortran,basic,pascal,c,c++,asm,foxpro,vfp,VisualBasic,html&css&js,php)
И начал ее учить с тех разделов, которые профессионалы обычно не трогают.

Сейчас хочу разобраться с Service , наконец то с лайотами и ставшим популярным материал десигн, работой с локальной базой данных и т.д.
Соответственно прога будет улучшаться.

Цель 1 млн инсталов, а для этого моя программа должна подстегнуть покупки принтеров людьми для личных целей.
Иначе больше 200K инсталов ей не набрать.



Реп: (42)
3.2.0 зарелизил

3.2.1 Попытка добиться более менее приличного качества печати из приложения "Мой налог"
Мой Налог (Пост oum #83654653) - здесь попытался донести до разработчиков почему у меня проблемы.

Что подправил.
прописал ассоциацию на открытие страницы чека в моем приложении.
Перебрал кучу вариантов и просто открытие ее во встроенном броузере
на данной версии апи налоговой дает лучший результат.

Прикрепленное изображение

чеки прижаты клавиатурой сверху
слева - направо как печатал
1.и 2. Сохраненный локально чек окрыть и распечатан через программу
3. Печать чека из встроенного браузера в мое приложение

Прикрепленные изображения
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение



Реп: (42)
Выложу тут 3.2.1

Прикрепленные файлы

Прикрепленный файлapp-release.apk ( 1.52 МБ )



Реп: (3)
Почему-то на HPRT MPT-2 QR-code не печатается, текст вместо него...



Реп: (42)

// general. Not work? see you printer manual for correct command
function QrCode(s){
var q = ESC+'Z'+chr(3)+chr(3)+chr(6);
var s_len = s.length;
q += chr(s_len%256)+chr(s_len/256);
return q+s;
}



this.qrCode = function(code,ec,size,model){
let r = '';
let cn = '1'; // Code type for QR code
// Select model: 1, 2 or micro.
r += this.wrapperSend2dCodeData(String.fromCharCode(65), cn, String.fromCharCode(48 + 1*model) + String.fromCharCode(0));
// Set dot size.
r += this.wrapperSend2dCodeData(String.fromCharCode(67), cn, String.fromCharCode(1*size));
// Set error correction level: L, M, Q, or H
r += this.wrapperSend2dCodeData(String.fromCharCode(69), cn, String.fromCharCode(48 + 1*ec));
// Send content & print
r += this.wrapperSend2dCodeData(String.fromCharCode(80), cn, code, '0');
r += this.wrapperSend2dCodeData(String.fromCharCode(81), cn, '', '0');

return r;
};



Два варианта знаю через Z старовская команда. И довольно сложное описание у EPSON.

посмотреть как я их собирал
view-source:http://rawbt.ru/app2/
https://github.com/402…ter/app2/index.php#L66

Возможно еще что-то придумали производители вашего принтера



Реп: (3)
oum @ 25.03.19, 19:18 *
Возможно еще что-то придумали производители вашего принтера

Там еще тот веселый принтер. Пытаюсь через base64 печатать, вроде QR нормальный:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAC5klEQVR4nO2Uwa7jMAwD8/8/nb3ktm1CmlSQ14yAHupaFMUxum3btrc/Sn27755Pz3LvpLltAAFIHJJbfxZIUhMBJ/Cf/EDOdAAy6H9lLkAG/a/M/QrEDeNOsNNhJ71pbgAByHkBZBhIouMG1vKpFECEYAAybBAgA4smS0/3Jo8CIAAByKOATCw9DV/pTfwr524BJPCvnLsFkMC/cu7WKZDWZ2LRJ583cwMIQH7vvApkv7FcmIqOOyvRuaMAAhCAnNWW/ud9Mp70uufTs1o+1VkAEUJqBw+QMKR28KdAlEWTO9PLtXqVHV34rua+A+RSByBvB+IGn4ByQ5qAMzFL0VR1AFKYpWgC5BeATISaLJHMmgCePEaAAKRTACmJuWZbyyX6yi7JQ1h5sAC52AUgbwci3zQGrhhx5k70upCnoAHkwx2AmHMnev8UEBeCe6fV61Zrr0T/v547jQMEILfsleh/6OkvqphyZz0BiNvr6hzfAQIQgHw935SmFeGrSsJQdFo+3UofC0DKBZBfA6Is5A5RwnADmwCu3E92WdEHiBnYtD5AzMCm9b8CUYSThZRKQnI1J+673o57AAGIWK8EkgxXyjXoAlfmJpp3+tl3gACkcf4aIK3lXM1kVhKMW3c8BIAYBZA3AkmGtEJNwlC8tXpbDwEgAAFIHcgEhIkwXIB31ooHgAwWQMIw2jUGJBk4fScJfuLhJLOOewABSPHOK4Eow1tm3VmKzkowjreW/+M3gJwVQN4ORHIVVNOso+9qJg9KmaXqA2TRp6Kzog+QRZ+Kzor+plx0P25g0yG1wkt6Vf8AAQhAZCATy03cad2/0w9AhPsAAcg6EPf/r3Xe8pDMdT20sjp+A8hZAaTkASDBuTvLracBvOgHCEBEfYAEwq3zloeJIFt+zrwBxJgFEICs10RIrbmKn4mAV3YHCEAAcrGPZzAx5ZqdDlWp5EG53o4egKyEmvQCRNB0Q016T4FIytRt9Q9wD/xXE+3vbwAAAABJRU5ErkJggg==


Меняю в нем
data:image/png; на rawbt:

печатает фигню. что не так?



Реп: (42)
rawbt - для передачи байтов как есть в устройство. png так нельзя послать



Реп: (3)
oum @ 25.03.19, 19:18 *
Возможно еще что-то придумали производители вашего принтера

В мануале так:
http://prntscr.com/n2snci
[Program example]] char SendStr[16];
SendStr[0] = 0x1D; SendStr[1] = ‘k’; SendStr[2] = 32;
SendStr[3] = 1;// version is 1
SendStr[4] = 2;// Error correction level is M
PrtSendData( SendStr, 5);
strcpy(SendStr,”123456789”);
PrtSendData( SendStr, 10);


Добавлено 25.03.2019, 21:55:

oum @ 25.03.19, 21:52 *
rawbt - для передачи байтов как есть в устройство. png так нельзя послать

Понял. Тогда по QR полдскажите. Видимо Z надо на k поправить?



Реп: (42)
нет . у вас поддержка печати qr в классическом формате от epson . Вы пробывали пример печатать с главной страницы приложения ?
если печатаете смотрите на в коде /app2/ this.qrCode =
я же уже давал ссылку.



Реп: (3)
oum @ 25.03.19, 22:08 *
нет . у вас поддержка печати qr в классическом формате от epson . Вы пробывали пример печатать с главной страницы приложения ?
если печатаете смотрите на в коде /app2/ this.qrCode =
я же уже давал ссылку.

Да, пробовал - выходит:
1A21C1E0&1P0http://rawbt.402d.ru/app2/index.php1Q0



Реп: (42)
http://www.hprt.com/pr…/MPT2/type/Manual.html - отсюда описание.
по ману вроде должно работать от эпсона.
Но может они как ронгта не все реализовали (сорри если я на них наговариваю)
http://www.rd-cn.com/u…ae85884b4d747c3150.pdf
страница 30 GS k m v r d1……dk

Сообщение отредактировал oum - 25.03.19, 22:40



Реп: (3)
oum @ 25.03.19, 22:18 *
http://www.hprt.com/pr…/MPT2/type/Manual.html - отсюда описание.
по ману вроде должно работать от эпсона.

Ну вот не работает. Хотя из других программ печатало, вроде.
Кстати, заметил, что на # обрывается печать - то есть не печатает после нее.



Реп: (42)
начнем с начала.
Вы web разработчик или android программист ?
Если общение между программой и сайтом, то
а) вы можете использовать схему rawbt в урлах или
б) сказать в броузере, что файлы с расширением .prn (открывать всегда моей программой или спрашивать каждый раз),
дополнительно прога понимает .pdf, .png,.jpg,.txt
в) просто использовать ее как обычный принтер для распечатки html страницы.

схема rawbt имеет модификатор base64 так как url_encode/url_decode не обеспечивает binarysafe (искажается)

Если андроид разработчик, то вариантов вызова можно насчитать 16 штук.

В режиме rawbate:base64, и любых вариантов работы с файлами, у которых расширение .prn программа ничего не добавляет от себя.
Тупо получили данные - отослали на устройство.

Попробуйте подключить принтер к компу по блютузу. Создайте файл с кодами . Посылайте его на com порт.
Если напрямую печатает, а через мою прогу нет. Буду сильно удивлен.



Реп: (3)
oum @ 26.03.19, 00:10 *
начнем с начала.
Вы web разработчик или android программист ?

Веб разработчик. Пилю в CRM распечатку слипов на термопринтерах. CRM работает в броузере. Если подскажете, как PNG перевести в PRN - проблема решиться. Просто раньше я никогда с этим не сталкивался (ну разве что на БКшке лет 20 назад).



Реп: (42)
хмм.
чтобы не перекодировать идеально дать способ слать графику.
Сроки у Вас какие ?

rawbt:png/base64, - как Вы оцените такой модификатор вызова ? будет удобно ?



Реп: (3)
oum @ 26.03.19, 00:59 *
Сроки у Вас какие ?

Будете смеяться, но завтра (уже сегодня) запуск =) В принципе все готово, кроме qr code. А вообще, две локации подряд (сначала чек, потом qr) сработают ли нормально?

oum @ 26.03.19, 00:59 *
rawbt:png/base64, - как Вы оцените такой модификатор вызова ? будет удобно ?

Лучше тогда так: rawbt:image/png;base64,


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 05:35