Внешняя компонента печати этикеток для 4 моделей принтеров




COM-сервер (внешняя компонента) позволяет печатать этикетки на 4-е модели принтеров (+совместимые с ними по языку управления)
1) Godex EZ-2, Godex BZB-2
2) Godex EZ-2P, Godex DT-2
3) Zebra LP 2824
4) Argox OS-203DT

Работа компоненты аналогична Thermal Print Library http://ezlib.narod.ru

функционал пока маловат, зато поддерживает больше принтеров. 

Поддерживает рисование только штрих-кода EAN-13, текста и прямоугольной рамки.

Пока не поддерживает более гибкую настройку принтера.

Принцип работы:

Вызывая функции ВК, вы формируете изображение этикетки, наносите на него текст и штрих-код.

Далее функции

WriteEZ_2P
WriteBZB
WritePPLA
WriteEPL2

формируют команды для печати графики на принтер и сохраняют его в файл (в качестве пути может выступать сетевой принтер, порт LPT или COM)

Для удобства настройки функция PreviewImage открывает окно предварительного просмотра.

Тестировал на принтерах Godex BZB-2, EZ-2P, DT-2, Zebra LP2824.

На Argox OS-203DT (WritePPLA) не тестировал.

Если испльзуете USB принтер, то компьютер обязательно должен быть подключен к сети, хотя бы к обычному хабу.
И расшарен. Имя файла в этом случае указывается как ИМЯ КОМПА ИЛИ ИП АДРЕС + ИМЯ ПРИНТЕРА В СЕТИ

 

03.11.2013 Обновил компоненту

Добавлен метод SetFont

Устанавливает одной функцией шрифт и его параметры

objWord.SetFont «Comic Sans MS», 50, 15, 700, 1, 0, 0

‘1-й  Имя шрифта
‘2-й высота шрифта
‘3-й ширина шрифта
‘4-й Устанавливает толщину шрифта в диапазоне от 0 до 1000. Например, значение 400 нормальная толщина, а 700 является полужирная. Если это значение равно нулю, используется толщина заданная по умолчанию.
‘5-й Italic (наклонный)
‘6-й Underline (подчеркнутый)
‘7-й StrikeOut (зачеркнутый)

 

10.11.2013 Обновил компоненту

1) Исправлена ошибка. Иногда при формировании штрих кода происходило аварийное завершение или печаталась половина штрих-кода.

2) Добавлен метод SetFontBC

objWord.SetFontBC «Comic Sans MS», 400, 0, 0, 0

SetFontBC         Устанавливает шрифт цифр штрихкода, размер и ширина шрифта вычисляются из размера штрихкода
‘1-й параметр Имя шрифта
‘4-й Устанавливает толщину шрифта в диапазоне от 0 до 1000. Например, значение 400 нормальная толщина, а 700 является полужирная. Если это значение равно нулю, используется толщина заданная по умолчанию.
‘5-й Italic (наклонный)
‘6-й Underline (подчеркнутый)
‘7-й StrikeOut (зачеркнутый)

3) 7 параметр метода PaintText отвечатет за вывод текста в одну строку или в несколько.

4) Добавлены два свойства

Это, пожалуй, самое интересное, но для профессионалов!

objWord.strPrinterCommand1 = «»    //Тип строка
objWord.strPrinterCommand2 = «»   //Тип строка

Устанавливают инструкции принтера при отправке на печать, если количество этикеток меньше 0.

Соответственно количество печатаемых этикеток вы должны передавать вместе с инструкциями.

strPrinterCommand1 устанавливает инструкции следующие до графики.

strPrinterCommand2 устанавливает инструкции следующие после графики.

Собственно, этими инструкциями вы можете менять что угодно. Устанавливать интенсивность, скорость печати, менять тип принтера на термотрансферный и т.д. В общем делать все на что способен принтер.

К примеру, если сделать так

objWord.strPrinterCommand1 = «»
objWord.strPrinterCommand2 = «»

objWord.WritePPLA «C:Image.pcx», 0, -1

То получим рисунок в формате PCX (сжатый по RLE). Так как графика в принтер Argox OS203 загружается в формате PCX (в общем-то она может грузиться в нескольких форматах).

В общем-то теоретически сейчас можно печатать почти на любом принтере, если формат загрузки графики совместим. 

В файле с компонентой разместил документацию на команды нескольких принтеров.

Для настройки рекомендую сначала сохранить файл на диске обычным способом.

objWord.WritePPLA «C:old.prn», 0, 14

А потом, пользуясь WinHex и описанием языка принтера, производить настройку.

 

03.02.2014 Обновил компоненту

1)  У параметра DrawRectangle добавлен ещё один параметр управляющий изгибом углов.

objWord.DrawRectangle 2, 10, 57, 334, 124, 40

1. Ширина линии в пикселях.

2-5. Прямоугольная область.

6. Изгиб углов прямоугольника.


Теперь можете нарисовать круг или эллипс используя его.

 

2) Добавлен метод PaintImage, позволяющий выводить изображения из внешних файлов.

Для его использования нужно положить в каталог с компонентой файлы формата _image1.bmp, _image2.bmp и т.д.

Всего можно использовать 5 разных изображений. Файлы загружаются в память при запуске компоненты (не при вызове метода BeginImage)

objWord.PaintImage 1, 225, 126

1-й параметр) номер изображения _image1.bmp -1, _image2.bmp -2

2-3 параметры) начало вывода верхних координат рисунка

 

 

В некоторых версиях Windows 7 регистрацию компоненты нужно производить только под администратором.

Запустить процесс cmd.exe от администратора, перейти в каталог с компонентой командой CD /D «C:ImageWriter» и запустить Register.cmd

4 Comments

  1. 1977

    Как изменять шаблон этикетки?

    Reply
  2. ImageWriter

    Функции описаны в файле VBS

    Пример:

    objWord.PaintText 6, 6, 334, 50, 0, «САРМА 500гр ср-во д/мытья посуды — Гель Актив», 0

    ‘PaintText

    ‘первые четыре параметра прямоугольная область

    ‘5-й параметр поворот текста на угол кратный 90 градусам (0-0 градусов, 1-90, 2-180, 3-270)

    ‘6-й параметр текст

    objWord.HelpLine = 1

    обводит прямоугольную область толщиной в 1 пиксель при вызове функций

    ‘PaintBarCode

    ‘1-отступ слева, 2-начало снизу, 3-высота от 2-го параметра, 4-размер, 5-текст штрих кода

    В общем то программа пока сыровата, но давно используется в нескольких магазинах с 1С 7.7.

    Reply
  3. ImageWriter

    В общем чтобы создать этикетку размером 43х25 мм в 1С 7.7 и распечатать на принтере совместимом с языком EZPL (Godex EZ-2P и Godex DT-2) нужно написать примерно такой код:

    Объект = СоздатьОбъект(«Image_Writer.ImageWR»);
    Объект.BeginImage(344,200);
    Объект.HelpLine = 0;
    Объект.FontName = «Arial»;
    Объект.FontWidth = 10;
    Объект.FontHeight = 20;
    Объект.PaintText(6, 6, 334, 50, 0, «САРМА 500гр ср-во д/мытья посуды — Гель Актив», 0);
    Объект.PaintBarCode(30, 195, 70, 3, «4607001203339»);
    Объект.FontWidth = 15;
    Объект.FontHeight = 45;
    Объект.PaintText(6, 60, 334, 120, 0, «Цена: 62.50 руб», 0);
    
    Объект.WriteEZ_2P(«\127.0.0.1GodexDT2», 0, 4);

    Показать

    Reply
  4. koliaff

    Тестировал обработку на Godex BZB-2U (USB). Печатает отлично. Возникли следующие вопросы:

    1. Возможно ли развернуть штрихкод на 90градусов?

    2. Вставить монохромный рисунок(значок ростеста)?

    3. Почему с этой моделью принтера (именно 2U) нормально не работает Thermal Print Library (печатает медленно и полосами, ШК не четкий)? Успешно ее используем с Godex BZB-2(LPT), а теперь даже не знаю как быть.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *