AzoftБлогПринт-сервер BarTender: печать товарных этикеток из PHP-приложения

Принт-сервер BarTender: печать товарных этикеток из PHP-приложения

Константин Медведев Декабрь 12, 2012

Сегодня мы поделимся опытом, полученном при интеграции PHP-приложения с принт-сервером BarTender, который пригодится всем, кто планирует автоматизировать печать этикеток, штрихкодов или RFID-меток на предприятии и интегрировать оборудование в общую систему предприятия.

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

Программное обеспечение BarTender включает в себя множество утилит, из которых нам понадобятся:

  • BarTender Print Server — основное приложение комплекса, служащее для разработки и печати этикеток.
  • Commander — утилита, позволяющая автоматически создавать задания печати в BarTender из других программ. Когда приложению требуется осуществить печать, оно выполняет триггерное действие, инициализирующее процесс печати. Например, помещает файл с данными для печати в определенное место в сети или отправляет сообщение по протоколу TCP/IP. Commander обнаруживает эти триггеры и «будит» приложение BarTender для запуска печати.
  • License Server отслеживает и обеспечивает использование максимально разрешенного количества принтеров. Оно запускается автоматически в скрытом режиме на любом сетевом компьютере.
  • BarTender имеет встроенные драйвера для работы с базами данных Oracle, MS SQL, платформой .NET, но не поддерживает работу с PHP-приложениями. Для этого нам и пригодится утилита Commander.

Рассмотрим шаг за шагом настройку утилит программы BarTender.

Шаг 1. С помощью BarTender Print Server набросаем шаблон этикетки.

 

Все поля этикетки, кроме картинки, — динамические. Данные для них будем передавать через промежуточный файл данных. А в качестве триггерного события, при помощи которого будет запущен BarTender, будет выступать файл в сканируемой утилитой Commander директории.

 

Сначала создадим промежуточный файл данных C:\print\data.dat. В первой строке будут имена полей, во второй — данные. Например:

 

Customer ProductName ProductNumber Date Time

Customer 1 Product 1 1234567890 05/06/2012 12:23:32

Щелкнув два раза на поле этикетки, мы сможем изменить параметры, а также задать источник данных. Для этого выберем пункт «Поле баз данных».

При щелчке на «Параметры соединения с базой данных» запустится мастер добавления соединения с базой данных. Далее следуя инструкциям, выберем тип БД «Текстовый файл» и укажем созданный нами файл C:\print\data.dat. В качестве разделителя TAB и первой записи текстового файла — заголовки полей. Если всё сделано правильно, BarTender произведет выборку (parsing) файла и занесет имена полей в справочник.

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

На этом настройка этикетки завершена. Сохраним наш шаблон под именем C:\print\template.btw.

Шаг 2. Переходим к настройке утилиты Commander.

В меню «Задача» (Task Menu) жмем «Добавить», указываем название задачи и триггер «Файл». На вкладке «Триггер» указываем сканируемую папку C:\print\ и «Ответ на определение» — «Удалить файл».

Затем на вкладке «Команды» жмем «...». В появившемся окне в поле «Используемые форматы» указываем файл нашего шаблона C:\print\template.btw. Сохраняем задачу.

В верхнем меню Commander выбираем «Начать обнаружение» или используем горячие клавиши CTRL+R. Теперь система готова к печати.

Можно провести эксперимент: если вручную создать файл startPrint.dd в папке C:\print\, Commander автоматически инициализирует печать стикера.

Для запуска печати из PHP-приложения нужно программно записать необходимые для печати данные в файл data.dat, а также создать файл с расширением *.dd.

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

Интеграция PHP-приложений с принт-сервером BarTender открывает большие возможности для автоматизации работы крупных магазинов, торговых сетей, складов, аптек, торгово-развлекательных центров, и предоставляет удобные решения для создания собственных уникальных этикеток.

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

Комментарии

комментарии



Content created by Konstantin Medvedev