Печать этикеток на термопринтере, из мобильного приложения 1c на IOS
Коллеги, а есть у кого нибдуь положительный опыт печати этикеток на Wi-Fi термопринтере, из мобильного приложения 1c на IOS?
Интересует в принципе даже коммерческое решение, не обязательно бесплатное.
Встроенный механизм печати работает, но криво.
Есть возможность печати с помощью формата ZPL (используется принтер Zebra), набор команд, в формате ZPL можно отправить следующим образом:
- Отправить ZPL команды по протоколу FTP (принтер поддерживает, но мобильная платформа нет, нужна компонента или внешняя утилита с командной строкой)
- Отправить ZPL команды по протоколу TCP/IP (принтер вроде бы поддерживает, но платформа нет, нужна компонента).
Интересует в принципе даже коммерческое решение, не обязательно бесплатное.
Встроенный механизм печати работает, но криво.
Есть возможность печати с помощью формата ZPL (используется принтер Zebra), набор команд, в формате ZPL можно отправить следующим образом:
- Отправить ZPL команды по протоколу FTP (принтер поддерживает, но мобильная платформа нет, нужна компонента или внешняя утилита с командной строкой)
- Отправить ZPL команды по протоколу TCP/IP (принтер вроде бы поддерживает, но платформа нет, нужна компонента).
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Не уточнил в вопросе такой момент: сам принтер подключен на прямую к мобильному устройству через wi-fi, но не к корпоративной сети, то есть это прямая связь между устройствами, без подключения к корпоратвной сети и серверу 1С.
Если бы такая связь была. то можно было бы отправлять по протоколу FTP через сервер 1С.
Если бы такая связь была. то можно было бы отправлять по протоколу FTP через сервер 1С.
(6)
Procedure Print(ZPL) Export
Connection = New HTTPConnection(IP, Port,,,,10);
Request = New HTTPRequest("/pstprnt");
Try
Stream = New MemoryStream();
Writer = New TextWriter();
Writer.Open(Stream,TextEncoding.UTF8,,,False);
Writer.Write(ZPL);
Writer.Close();
Headers = New Map();
Headers.Insert("Content-Type", "text/html;charset=utf-8");
Headers.Insert("Content-Lenght", Format(Stream.Size(), "NG="));
Stream.Close();
Request.Headers = Headers;
Request.SetBodyFromString(ZPL, TextEncoding.UTF8, ИспользованиеByteOrderMark.DontUse);
Res = Connection.Post(Request);
If NOT Res.StatusCode = 200 Then
Message(NStr("ru='Ошибка печати.';en='Print error.'") );
EndIf;
Except
Message(ErrorDescription());
EndTry;
EndProcedure
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот