Печать на мобильных принтерах по bluetooth и сети (ZPL, TSPL, CPCL)

28.03.24

Интеграция - Периферийные устройства

Реализация печати на мобильные принтера по bluetooth и сети в формате языка разметки ZPL, TSPL, CPCL из мобильных приложений 1С под Android.

Скачать исходный код

Наименование Файл Версия Размер
labelprint v1
.apk 3,37Mb
22
.apk 3,37Mb 22 Скачать
labelprint v2
.apk 4,79Mb
2
.apk 4,79Mb 2 Скачать
labelprint v3
.apk 3,37Mb
5
.apk 3,37Mb 5 Скачать

Программа разрабатывалась и тестировалась для печати этикеток на мобильный принтер Атол XP-323B (версия с bluetooth). Из мобильного приложения разработанного на 1С для ТСД Атол.Smart Lite c Android 7.

Для подключения по bluetooth с начало надо соединить ТСД с принтером затем выбрать его в приложении.

Для реализации печати в 1С нужно вставить код (для примера):

	#Если МобильноеПриложениеКлиент  Тогда
		Приложение = Новый ЗапускПриложенияМобильногоУстройства();
		
		КомандыДляПечати = "^XA" + Символы.ПС +
                           "^FO120,20" + Символы.ПС +
                           "T^A0N,25,25" + Символы.ПС +
                           "^FDThis is a ZPL test." + Символы.ПС +
                           "^FS" + Символы.ПС +
                           "^XZ" + Символы.ПС;  
		Приложение.ДополнительныеДанные.Добавить("data", КомандыДляПечати);		
		Приложение.Приложение = "ru.project.labelprint";
		Приложение.ИмяКласса = "ru.project.labelprint.print";
		
		Приложение.Запустить(Ложь);
	#конецесли

Версия 1: При отправке на печать происходит подключение к принтеру, печать этикетки и отключение от принтера.

Версия 2: При отправке на печать происходит подключение к принтеру, печать этикетки. Когда из документа или обработки печатается много этикеток в короткий промежуток времени то принтер не отключается, связь поддерживается. Для отключения принтера нужно отправить в data пустую строку. Пример:

	#Если МобильноеПриложениеКлиент  Тогда
		Приложение = Новый ЗапускПриложенияМобильногоУстройства();
		Приложение.ДополнительныеДанные.Добавить("data", "");	
		Приложение.Приложение = "ru.project.labelprint";
		Приложение.ИмяКласса = "ru.project.labelprint.print";
		
		Приложение.Запустить(Ложь);
	#конецесли

 

Версия 3 (тестово еще не проверял): Все так же как и во второй версии но можно печатать на несколько принтеров с одного ТСД. Для реализации печати на несколько принтеров через программу проверяете печать на каждом принтере. Запоминаете адреса ip или bluetooth. В параметре указываете 'ip' или 'address' принтера на который хотите распечатать, если адрес не указывать то будет печатать на принтер по умолчанию который указан в настройках программы. Пример:

	#Если МобильноеПриложениеКлиент  Тогда
		Приложение = Новый ЗапускПриложенияМобильногоУстройства();
        //Для сетевого принтера
		Приложение.ДополнительныеДанные.Добавить("ip", "10.1.1.1");
        //Для принтера по bluetooth
		Приложение.ДополнительныеДанные.Добавить("address", "XX:XX:XX:XX:XX:XX");
        //Дальше как обычно отправляемые данные для печати
		Приложение.ДополнительныеДанные.Добавить("data", "");
		Приложение.Приложение = "ru.project.labelprint";
		Приложение.ИмяКласса = "ru.project.labelprint.print";
		
		Приложение.Запустить(Ложь);
	#конецесли

Язык интерпретатора для каждого принтера не выбирается и используется один общий который указан в программе.

 

Тестировалось на ТСД Атол Smarl Lite Android 7; принтер Атол X-323B; Мобильная платформа 1С Предприятие 8.3.21.26.

Мобильный клиент печать ZPL ТСД bluetooth wifi TSPL CPCL принтер

См. также

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    4009    3    2    

5

Тернистый путь к физической клавиатуре для программиста 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время я активно пользовался различными хоткеерами, шаблонами текста, специальными раскладками клавиатуры. Я из тех, кто очень долго верил в Снегопат... Так сложилось, что на моем текущем месте работы довольно строгая политика информационной безопасности, а потому со всем привычным софтом, который делал жизнь проще, мне пришлось расстаться. И даже шаблоны кода при каждом терминальном подключении требуется настраивать в конфигураторе заново. Как известно, если какую-то задачу нельзя решить на стороне софта, то стоит поискать железное решение.

1 стартмани

15.04.2024    5954    madonov    52    

33

[История разработки] Управляем промышленным принтером EBS-1500 из 1С

Периферийные устройства Платформа 1С v8.3 Бесплатно (free)

«У нас было два контроллера Huidu, семьдесят две китайские монохромные панели на светоизлучающих диодах, они же LED, четыре мегабайта flash памяти, 1С и целое море поддерживаемых форматов вывода информации - текстов, картинок, анимаций, а так же литр промывочной жидкости, литр разбавителя, ящик черных чернил, и 12 патч-кордов и различных удлинителей. Не то, чтобы всё это было категорически необходимо в маркировке, но если уж начал собирать маркиратор на 1С, то к делу надо подходить серьёзно.» - Страх и ненависть в Маркировке, 2019 г.

01.04.2024    1548    Interrupted    14    

34

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

Инструментарий разработчика Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка получения изображения с веб-камеры с возможностью его кадрирования по произвольно выделенной области. Использует собственную внешнюю компоненту на основе библиотеки AForge. Содержит примеры интерактивного взаимодействия с полем HTML.

20.03.2024    431    2    AndSem    1    

4

Прямая печать на принтерах TSC из 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Прямая печать на принтерах TSC из 1С при вызове с сервера позволяет печатать из тонкого клиента, мобильного клиента и веб-клиента. Потребуется установка драйвера и библиотеки для отправки команд на этот драйвер.

1 стартмани

19.02.2024    711    6    realslavyan    2    

5

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    5595    John_d    26    

76

Очистка очереди печати конкретного принтера

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Очистка очереди печати выбранного принтера, перезапуск службы печати, вывод списка системных принтеров, открытие свойств принтера из 1С.

1 стартмани

07.11.2023    1333    2    vsnazarov    1    

26

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    1578    GeraltSnow    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aquath 07.07.22 10:19 Сейчас в теме
Доброго дня!
При попытке установить приложение на ТСД (Smarl.Lite Android 7.0) выдает ошибку "Похоже пакет поврежден"

Для исключения повреждения файла при загрузке, загружал на разных устройствах...

Размер файла после загрузки всегда 3 459 640 байт
2. user1575070 27.07.22 10:39 Сейчас в теме
Добрый день, igorK, как с Вами можно связаться?
3. igorK 23 27.07.22 13:44 Сейчас в теме
(2) Если есть вопросы не по теме данной разработки пишите в личку
4. GPGR 04.10.22 10:10 Сейчас в теме
(3) Добрый день. Такая же ошибка как в (1)
Adwens; user599969_admin; +2 Ответить
5. igorK 23 04.10.22 15:43 Сейчас в теме
(4) Я файл перезолил подписанный сертификатом и у человека не было больше проблем, так что файл нормальный, попробуйте еще раз скачать если давно качали
6. GPGR 05.10.22 12:46 Сейчас в теме
(5) Через wifi не работает
user599969_admin; +1 Ответить
7. igorK 23 05.10.22 20:24 Сейчас в теме
(6) Ну в описании написано что 50/50, у меня нет возможности проверить, так как нет принтера с wifi, если появится до доработаю.
30. softorg 11.10.23 14:42 Сейчас в теме
(6) Проверено, через WiFi работает
На принтере АТОЛ XP-P323W, с ТСД АТОЛ Smart Slim Plus, печатает без проблем
8. GPGR 06.10.22 10:02 Сейчас в теме
(7) В личку написать нет возможности. Есть предложение по совместной доработке. При декомпиляции не обнаружено разрешение для использования интернета <uses-permission android:name="android.permission.INTERNET"/> и странно прописанные статические ip адреса
9. igorK 23 06.10.22 20:45 Сейчас в теме
(8) Да действительно разрешения для доступа к сети не было, добавил, пересобрал, файл обновил, можете скачать и проверить. Может заработает.
Там нет ни каких прописанных статических ip адресов.
10. пользователь 07.10.22 11:50
Сообщение было скрыто модератором.
...
11. GPGR 17.10.22 10:46 Сейчас в теме
(9) скачать нет возможности, потратил все стартмани. написать в личку тоже не могу. вы можете мне написать?
12. tomzel1 31.10.22 06:14 Сейчас в теме
апк не загружается. Пишет "Ошибка при синтаксическом анализе пакета"
13. tomzel1 31.10.22 07:14 Сейчас в теме
(12)Понял сам, нужен android7, мой ТСД на 4 андроид
14. igorK 23 31.10.22 07:38 Сейчас в теме
(13) Правильно минимальной Android 7 (ТСД Атол Smart Lite Android 7)
15. AneJIbcuH 37 01.11.22 08:00 Сейчас в теме
Подскажите, на принтеры расшаренные по сети, как-то можно отправлять на печать ?
16. igorK 23 01.11.22 09:34 Сейчас в теме
не знаю не про бывал по идеи есть по ip и порт 9100 вроде, то должен работать
17. user822060 01.09.23 10:34 Сейчас в теме
Язык ZPL это приложение понимает? Штрихкод оно напечатает? Подойдет ли оно для Android11 ?
18. igorK 23 01.09.23 17:41 Сейчас в теме
(17)
Язык ZPL это приложение понимает? ДА
Штрихкод оно напечатает? ДА
Подойдет ли оно для Android11 ? ДА

Приложение для печати из мобильной 1с на Android
19. user822060 04.09.23 14:06 Сейчас в теме
Выходит ли предварительный просмотр этикетки сформированной с помощью приложения? Если да, то как сделать, чтобы печать была без предварительного просмотра.
20. igorK 23 04.09.23 18:23 Сейчас в теме
(19) Нет нету предварительного просмотра, формируете ее в 1с и отправляете на печать. Пример печати этикетки есть в описании.
21. user822060 05.09.23 11:35 Сейчас в теме
Подскажите каким шрифтом нужно печатать русские буквы через приложение печатаю так:

"^XA" + Символы.ПС +
"^FO20,20" + Символы.ПС +
"T^AB0N,25,25" + Символы.ПС +
"^FDВодка импортная"+ Символы.ПС +
"^FS" + Символы.ПС +
"^XZ" + Символы.ПС;

Вместо Водка импортная выходят непонятные символы
22. user822060 05.09.23 11:44 Сейчас в теме
Английский текст выходит нормально
23. igorK 23 05.09.23 19:55 Сейчас в теме
(22) Это от вашего принтера зависит и от его настроек, программа тут не причем. Читайте инструкцию к своему устройству либо обратитесь где покупали его за консультацией.
24. user822060 06.09.23 08:07 Сейчас в теме
У меня принтер Атол XP-323B, выше написано, что тестирование на этом принтере производилось.
Я при печати на языке ZPL сейчас выставляю кодовую страницу, но все равно русский шрифт не печатает.
25. igorK 23 06.09.23 20:17 Сейчас в теме
(24) Перед тем как печатать нужным вам языком, нужно загрузить шрифты.
26. zero1 04.10.23 16:03 Сейчас в теме
Добрый день, с Avery Dennison приложение может взаимодействовать? Нажимаю на кнопку печати, и ничего не происходит. При этом на индикаторе принтера горит значок, что приложение и сам принтер находятся в сопряжении.
27. igorK 23 04.10.23 19:54 Сейчас в теме
(26)
Смотреть надо на характеристики принтера и поддерживает печать языками ZPL, TSPL, CPCL. Если поддерживает значит что то у вас с настройками. На сколько помню кто то даже по ip адресу настраивал и все работало.
28. zero1 04.10.23 23:45 Сейчас в теме
(27) Какие именно характеристики принтера, помимо поддержки языков ZPL, TSPL, CPCL нужно смотреть? Приложение на мобильном устройстве принтер видит, определяет его имя и точку входа, только из него при нажатии на "Напечатать" ничего не происходит. Если дело в настройках принтера, то в каких?
29. igorK 23 05.10.23 07:35 Сейчас в теме
(28) Ну тогда не знаю в чем проблема, у вас даже из программы не печатается тестовая этикетка. Подключал уже 4-е разных модели мобильных принтеров и не возникало проблем. (Godex , Atol , TSC , Urovo) все работают.
31. GodDamn 05.12.23 11:42 Сейчас в теме
Добрый день, если на мобилку поставить пойдет?
У меня телефон не видит принтер, модель принтера точно такая же
32. igorK 23 05.12.23 22:56 Сейчас в теме
(31) не обязательно ТСД, надо только что бы android был начиная с 5 версии вроде.
Сам изначально программу тестировал с обычного телефона, пока не было ТСД. Все работало.
33. GodDamn 07.12.23 07:38 Сейчас в теме
(32) У вас случайно нет файла с русскими шрифтами для принтера xp-323b? Заколебался искать(
34. igorK 23 07.12.23 18:15 Сейчас в теме
(33) Вот ссылка на файл с русским шрифтом для принтера (для любой модели принтера).
35. GodDamn 08.12.23 14:12 Сейчас в теме
(34) Не качается, вкладку открывает и сразу же закрывает
36. igorK 23 08.12.23 17:51 Сейчас в теме
(35) Не знаю у меня предлагает скачать файл "Swiss 721 Cyrillic BT.zip" ищите значит по названию файла и качайте шрифт тогда
37. Nik_1c_bitrix 193 14.12.23 18:25 Сейчас в теме
Есть ли пример печати pdf файла? Или можно печатать только текстик?
38. igorK 23 14.12.23 20:55 Сейчас в теме
(37) Если язык ZPL, TSPL или CPCL позволяет печать PDF то без проблем печатайте. Изучайте мануалы по языкам. Лично я PDF не печатал, не было такой необходимости.
Nik_1c_bitrix; +1 Ответить
39. PRM77 05.01.24 03:13 Сейчас в теме
Добрый день. По итогу какой из трех файлов скачивать и в чем отличие?
40. igorK 23 05.01.24 08:43 Сейчас в теме
41. PRM77 05.01.24 14:28 Сейчас в теме
(40) Игорь спасибо за оперативность - с версиями теперь всё понятно. После праздников планирую озадачить свое руководство по поводу приобретения. Существует ли какая-то возможность пообщаться с Вами по поводу возможных нюансов, дабы не захламлять здесь ветку обсуждения?
42. user1239026 01.03.24 15:41 Сейчас в теме
Добрый день. При печати после самой этикетки выходит еще одна, заполненная непонятно чем. Вот текст код:

#Если МобильныйКлиент Тогда
		Приложение = Новый ЗапускПриложенияМобильногоУстройства();
        	штрихкод=ШтрихкодПолучитьНаСервере(Номенклатура,Характеристика);
		КомандыДляПечати = "^XA" + Символы.ПС +
	                       "^BY5,5,350" + Символы.ПС +
	                       "^FO140,80^BCR^FD" +штрихкод+"^FS"+Символы.ПС +
	                       "^XZ" + Символы.ПС;  
		Приложение.ДополнительныеДанные.Добавить("data", КомандыДляПечати);		
		Приложение.Приложение = "ru.project.labelprint";
		Приложение.ИмяКласса = "ru.project.labelprint.print";
		Приложение.Запустить(Ложь);
	#конецесли 
Показать

Что может быть не так?
Прикрепленные файлы:
43. igorK 23 02.03.24 07:31 Сейчас в теме
(42) Печатал на таком принтере TSC, ни каких проблем не было. А если просто взять из описания пример кода где печатается "This is a ZPL test." и его запустить так же печатает ?

Всего скорее у вас с настройками принтера что то.
44. user1239026 04.03.24 06:35 Сейчас в теме
Пример из описания пачатался так.
(43)
Прикрепленные файлы:
45. igorK 23 04.03.24 07:11 Сейчас в теме
(44) Нет той не понятной этикетки, значит с кодом у вас что то, а так по пробуйте обновить прошивку и сбросить на заводские настройки. Еще раз повторюсь у меня есть 1 такой принтер и работает без проблем. В данный момент его под рукой нет так как его настроил и он уехал в другой город.
46. user1239026 25.03.24 13:15 Сейчас в теме
Добрый день. Есть какие-то особенности по загрузке русских шрифтов на TSC Alpha-3RB?
Загружали через утилиту TSC шрифт Arial (см скрин).
В коде прописано название шрифта:

КомандыДляПечати = "^XA" + Символы.ПС +
"^FB530,4,5,C,0" + Символы.ПС +
"^FO5,100^A@N,14,16,E:FONT001.FNT^FDДанныеЭтикетки^FS" + Символы.ПС +
"^XZ" + Символы.ПС;

Вместо русских букв выходит абракадабра. Добавление ^CI28 и ^CI33 не помогло.

Кто-нибудь сталкивался? В чем может быть подвох?
Прикрепленные файлы:
47. Stratim 3 28.03.24 00:27 Сейчас в теме
При попытке печати из версии 3 через TSPL по Bluetooth, приложение вылетает с ошибкой. Просто при нажатии кнопки "Напечатать", можно даже принтер не выбирать, из 1с тоже самое. Пробовал на трёх разных телефонах. Есть предложения из-за чего может быть?
48. igorK 23 28.03.24 08:08 Сейчас в теме
(47) Нет, пока везде стоит 2 версия, в 3-ей отпала необходимость и везде осталась 2-ая, на днях постараюсь посмотреть. У вас более 1-ого принтера подключается к телефону ?!
49. Stratim 3 28.03.24 10:08 Сейчас в теме
(48)
У вас более 1-ого принтера подключается к телефону ?!
Да, два принтера.
50. igorK 23 28.03.24 22:16 Сейчас в теме
(49) Поправил, у себя проверил работает. Файл обновил. Вам ссылку на скачивание в личку отправил. Проверите как работает и отпишитесь пожалуйста.
51. user1239026 29.03.24 15:41 Сейчас в теме
Пробуем вторую версию обработки, выходит ошибка (см. скрин). В чем может быть причина?
Прикрепленные файлы:
52. igorK 23 29.03.24 18:11 Сейчас в теме
(51) Из программы тест печатается ? Если печатается значит возьмите пример сверху и попробуйте его запустить, думаю проблема скорее всего в вашем коде 1С.
53. user1239026 01.04.24 10:10 Сейчас в теме
(52)

(52)
Из программы тест печатается ? Если печатается значит возьмите пример сверху и попробуйте его запустить, думаю проблема скорее всего в вашем коде 1С.


Вернулись на первый вариант. Распечатали тестовый текст из обработки с тсд, выходит две этикетки. Если печатаем тот же текст из утилиты с компьютера - выходит одна этикетка.
Прикрепленные файлы:
54. user1239026 01.04.24 11:11 Сейчас в теме
(53)
(52)


Снимаю вопрос, все оказалось в размерах этикетки в утилите на тсд.
55. igorK 23 01.04.24 14:47 Сейчас в теме
(54) Рад что у вас все получилось, в основном проблема у всех с настройками этикетки как и у вас в данном случае.
А так все версии программы рабочие. 3-я версия не работала, на днях поправил, проверил и пере залил.
Оставьте свое сообщение