![]() |
|
свободные драйвера для промышленных принтеров этикеток и чеков | ☑ | ||
---|---|---|---|---|
0
Denjs
22.02.08
✎
00:20
|
Представляю первые результаты проекта по созданию набора открытых драйверов для промышленных принтеров этикеток и чеков
- кроссплатформенность (Linux, Windows) - удобный "интуитивно понятный" язык описания задания - аналог html. - открытая архитектура - лицензия GNU GPL v.2 По лично моему мнению, уже сейчас получена функциональность недоступная некоторым существующим компонентам - в частности "Атол-драйвер принтеров чеков" способен повторить только около половины демонстрационного задания. ------------------------- В данном проекте реализована принципиально иная идеология формирования задания чем в существующих компонентах - печать осуществляется не последовательным вызовом методов компоненты, а передачей драйверу полного задания в формате подобном html. Таким образом задание становится интуитивно понятным - например что бы напечатать строку "жирным" нужно передать драйверу строку вида "<b>ЖирныйТекст</b>". Теоретический пример задания и отрисовки можно посмотреть здесь: http://linuxforum.ru/index.php?act=attach&type=post&id=6510 Реализованные возможности - в демо примере задания в программе. Полный список поддерживаемых тегов предоставлен в архиве, в pdf-файле. ------------------------- В ближайшем будущем будет реализована компонента 1С. В планах развития - сетевая печать, расширение списка поддерживаемых принтеров, отдельная библиотека. Планируется подержка как чековых принтеров так и принтеров наклеек (этикеток). _______________________________________ "Демо-приложение" от 2008.02.19 лежит здесь: http://www.rapidshare.ru/587355 (собственная страница проекта будет создана позже) К однакомлению предлагается 2 приложения - posHTML-renderer, (ввод текста posHTML задания и управление печатью), и консольное приложение поиска подключенного оборудования. В posHTML-рендерере доступна загрузка демонстрационного примера. В архиве лежат 2 сборки: для Linux и Windows. (под linux необходимы установленные библиотеки QT 4.2) _______________________________________ На текущий момент поддерживаются принтеры: - Posiflex Aura PP-5200 - Posiflex Aura PP-7000-II ( незначительные ошибки с определением статуса принтера ) предположительно будут работать: (нужно тестирование) - Epson TM-88/II - Epson TM-88/III Частично (в большей или меньшей степени) будут работать любые ESC/POS принтеры. По умолчанию считается что принтер подключен к com1. Смотрите ini файл рядом с исполняемым файлом. ================================================== Прошу имеющих доступ к оборудованию протестровать, высказать свое мнение и пожелания. ================================================== PS: Если есть желающие принять участие в разработке, помочь оборудованием, деньгами , ещё как - прошу обращаться сюда http://linuxforum.ru/index.php?s=&showtopic=43060&view=findpost&p=601597 |
|||
1
ТелепатБот
гуру
22.02.08
✎
00:20
|
||||
2
Denjs
23.05.08
✎
14:48
|
Доступен к ознакомлению публичный релиз компонент проекта OTPD (Open Ticket Printer Drivers).
http://otpd.berlios.de Пока только исходники. Бинарные сборки будут доступны к середине июня. В альфа-релиз "2008.05.22_0200" вошли следующие исходники программ: "libotpd" - библиотека содержащая основные механизмы OTPD "otpd_phtmlrender_probe" - приложение позволяющее "пощупать pHTML" так сказать "в деле". (Окно ввода задания, кнопка загрузки большого примера, кнопка редактирования ini-файла и кнопка "напечатать". все) ) "addin_libotpd.dll" - внешняя компоннента 1С:Предприятие с примером для 1Сv7.7 использования компоненты : [b]addin_libotpd_loadrun.ert[/b]. "image2pbmp_convertor" - конвертер картинок в формат текстового описания pbmp для вставки в pHTML . (см документацию OTPD - описания тегов <img> и <binary>) + парочка утилит для поиска подключенного на последовательных портах оборудования. В данном релизе поддерживается работа с одним принтером подключенным по COM или Ethernet. ---------------------------------------------------------------------------------------------- Поддерживаютя (тестировались) следующие принтеры: - Posiflex Aura pp5200, pp7000-II, pp7000L ( также должны работать все esc/pos принтеры, включая Epson TM88-II,TM88-III ) - Штрих500 ( ограниченная поддержка ) Поддерживается 2 вида подключения - COM-порт - Ethernet Поддерживаются ОС: - Linux - Windows ("win32": (WinXP, Win2000, др)) ---------------------------------------------------------------------------------------------- Прошу имеющих возможность собрать и протестировать с esc/pos принтерами - сделайте это. http://developer.berlios.de/project/showfiles.php?group_id=9484 Мне важно знать: удобство языка pHTML, стабильность работы, корректность работы на различных моделях принтеров. Для сборки различных программ проекта вам потребуются QT4.3, Delphi 6 см. подробности по установке и сборке см: http://linuxforum.ru/index.php?s=&showtopic=43060&view=findpost&p=652873 |
|||
3
Denjs
23.05.08
✎
15:11
|
Немного акцентирую внимание на одном из достоинств OTPD:
для формирования чека вы можете использовать шаблоны. В результате - когда вам надо поменять вид чека - вам не надо перекраивать программу, как например в случае с Aтoл-драйверами принтеров чеков - вы меняете только данные. К тому-же будущий вид чека на печати в случае OTPD интуитивно понятен - HTML сегодня изучается в школе. Сравните: последовательность формирования задания с использоованием Атол-компоненты: 8 строк кода: ------------------------------------- компонента.Caption = "Жирная "; компонента.FontBold = TRUE; компонента.TextNewLine = FALSE; компонента.AddText(); компонента.Caption = "строка"; компонента.FontBold = FALSE; компонента.TextNewLine = TRUE; компонента.AddText(); ------------------------------------- и последовательность формирования задания с использоованием OTPD: 1 строка кода: ------------------------------------- компонента.send("<phtml><b>Жирная </b>строка<br></phtml>"); ------------------------------------- проще, удобнее, понятнее. Тем более - строку которую вы загружаете в компонента.send() вы можете загружать из внешнего файла, и таким образом, менять вид "чека" сможет "штатный системный администратор", что не может не порадовать заказчика. |
|||
4
Denjs
24.05.08
✎
14:08
|
выложены сборки для виндоус:
Внешняя компонента 1С - addin_libotpd.dll, демо-обработка addin_libotpd_loadrun.ert, otpd_phtmlrender_probe.exe, библиотека libotpd.dll, библиотеки QT 4.3. ссылка на скачивание: http://prdownload.berlios.de/otpd/otpd.addin_libotpd_1C.binaries.2008.05.22_0200.zip ( все файлы OTPD: http://developer.berlios.de/project/showfiles.php?group_id=9484 ) Прошу имеющих доступ к оборудованию скачать (6.5 мегабайт), посмотреть и высказать свои замечания. |
|||
5
nop
24.05.08
✎
14:10
|
ничо не понял, но ветка - круть!
|
|||
6
Denjs
24.05.08
✎
14:12
|
что тут понимать? подключил принтер, скачал, посмтрел, порадовался что в скором будущем не надо будет платить aтoлу за драйвера, высказался.
|
|||
7
Злопчинский
24.05.08
✎
14:35
|
Завтра посмотрю, какой у нас принтер для этикеток...
|
|||
8
big
24.05.08
✎
16:40
|
(6) А разве дрова "паровозом" не идут с принтером. От того-же Атола?
А вообще конечно же тв молодец. Да еще и альтруист :)) |
|||
9
Denjs
24.05.08
✎
17:46
|
(8) Дрова паровозом если и идут, то только для "виндоус" подсистем печати.
А это на подавляющем числе промышленных принтеров - скорость печати около 0.5 см в секунду; помимо этого виндоус-драйвера не позволяют вам точно знать о состоянии принтера - кончается-ли там бумага, открыта-ли крышка. Нельзя так-же "позвонить кухонным звонком" или "выкинуть денежный ящик". Специализированные системы печати позволяют достичь максимально аппаратно допустимых скоростей - до 15-20 см/сек, и дают все специфические возможности описанные выше. Aтoл драйвера "паровозом" не идут. Если вы купили принтер у них - то "локальная" версия дается вам за $3.5 доллара; отдельно - около $100.00. "Сетевая" версия для печати с нескольких станций на один принтер стоит около $300.00. Считайте сами что идет паровозом, какого качества и каких возможностей. Далее - "Aтoл драйвера принтеров чеков" дают реализуют только "линейный режим" печати. OTPD дает возможность использовать "страничный режим" - с произвольным позиционированием элементов. т.е. я могу разместить слева картинку, а справа - напечатать произвольный текст. В атол-драйверах такое не возможно. Далее - "Aтoл драйвера принтеров чеков" иной интерфейс компоненты. отличия - см в (3) Далее - все драйвера существующие на сегодняшний день - заточены только под одну ОС. OTPD-же работает как под виндоус, так и под линукс. ================================================================ (8) ЗЫ: и поверьте мне - я не альтруист. Если вы не видите путей получения выгоды - это не означает что их нет ;) |
|||
10
Denjs
24.05.08
✎
17:51
|
но в любом случае, спасибо за отклик. )
|
|||
11
big
24.05.08
✎
17:56
|
(9) При всей своей любви возиться с железками к сожалению с принтерами чеков сталкивался только эпизодически, на уровне "интерфейсного шнура" :)) С удовольствием бы испытал сабж, но... звиняйте :))
|
|||
12
Мохнатое рыло
25.05.08
✎
09:31
|
(9) Мало сделать классный продукт, ещё надо его хорошо продать ;)
|
|||
13
Al113
25.05.08
✎
13:29
|
А зебра будет работать?
|
|||
14
Злопчинский
25.05.08
✎
13:40
|
я у себя обязательно попробую...
|
|||
15
b_ru
25.05.08
✎
14:31
|
респект за работу. Лично меня промышленные принтера на сегодняшний день не интересуют, но тенденция обозначена очень приятная :)
|
|||
16
Злопчинский
25.05.08
✎
14:56
|
Вопрос автору: поясните как работать в рамках вашей системы с печатью штрихкодов (на уровне идеи)...?
|
|||
17
Denjs
25.05.08
✎
17:44
|
(13) Зебра пока не поддерживается - они пограммируются системой команд ZPL / ZPLII , а с этим я пока не разбирался т.к. просто нету принтера в наличии.
Если предоставите доступ к оборудованию, или ещё лучше агрегат на месяц - будет всем Зебра и всё с ней совместимое. Поддерживать принтеры наклеек технически ничто не мешает. Надо подумать над графическими примитивами - как их отражать в pHTML, (ZPL II поддерживает линии, треугольники, прямоугольники, и т.п. - кажется даже "заливку" ). но расширение тегов pHTML - это проблема решаемая. Главное - что бы появилась железка которую можно мучать и рулона 3 расходников ))) (16) в общем случае примерно так: http://itland.ru/forum//index.php?&act=attach&type=post&id=1441 только в текущей версии системы у тегов немного другие опции, и тег <body> пока не реализован. но идея осталась не изменной : вы составляете pHTML задание и отдаете его компоненте. например : ============================================ <phtml> Пример штрихкода.<br> <barcode width=3 height=60 type=ean13 data=496595707379 chars=yes> <br cut> </phtml> ============================================ распечатает строку, под ней - штрихкод, после этого сделает отрез ленты. Пример со страничным режимом (на ESC/POS принтерах отпечатается частично) ============================================ <phtml> <page height=450 width=500> <div pos=100x50 size=350x200> <barcode width=3 height=60 type=ean13 data=496595707379 chars=yes> </div> <div pos=10x50 size=100x200> Справа вы видите штрихкод --\> </div> </page> <br cut> </phtml> ============================================ должно распечатать слева с переносом что-то типа: " Справа вы вид ите шт рихкод --> " а левее от этого - штрих код. но, к сожалению, на esc/pos принтеры не поддерживают печать ШК в страничном режиме. (я думал над эмуляцией, но пока не нашел достойной либы для отрисовки EAN13 в картинку на С/С++. (а то что нашел - пока не разобрался "как прикрутить") потому - пока ШК в страничном режиме на чековых принтерах не будет.) |
|||
18
Злопчинский
26.05.08
✎
01:26
|
(17) пока особо не понял, бум смотреть...
на неделе попробую у себя. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |