LINUX.ORG.RU

Печать штрих кода и CUPS. How to ??


0

1

Имеется USB-термопринтер ( TSP100 ), установленый под CUPS.

С печатью текста проблем не возникает, а вот с печатью штрих-кода проблем не то, чтобы есть проблемы - просто не понятно как это делать.

Предпологаю 3 варианта:

1) Есть какие-то средства у самого CUPS. Есть ли ?

2) Нарыл исходник на C преобразующий код в последовательность вида 110110101011 , который я могу пропечатать 5 раз , чтоб у меня получились полоски. Как мне отправить в CUPS такую последовательность ?

3) Наиболее интерестный, универсальный и , на мой взгляд , легкий путь - шрифты штрихкода. Т.е. я отправляю на печать символьную строку типа 234627345428346 , но шрифтом, который отображает штрих-символы. В результате у меня напечатаный штрих-код.

Внимание вопрос :) Как лучше, проще и правильней это делать ?

Ответ на: P.S. от dmitry_kozak

а сгенерить картинку при помощи библиотек для работы с штрихкодами и заслать на принтер, не?

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Принтер может быть подключен по COM-порту и иметь доисторическую скорость обмена данными.

А, так он USB. Тогда картинка, однозначно.

Deleted
()
Ответ на: комментарий от Deleted

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

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Deleted

судя по строке из описания «Extended barcode functionality - 9 versions / PDF 417, Maxicode Option» и общей текстовой направленности принтера, топикстартеру придётся покурить систему команд принтера.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

да

Как такие библиотеки называются и где читать о работе с CUPS на C ? Если есть достойная дока - киньте ссылку, я пока, как програмер, слабый - мне бы решение попроще.

dmitry_kozak
() автор топика
Ответ на: комментарий от Dark_SavanT

система команд принтера

Я уже имею опыт поддержки таких принтеров напрямую в порт ( ESC ). Но на данный момент есть необходимость переехать под CUPS.

Или можно как-то посылать в CUPS команды принтера ??

dmitry_kozak
() автор топика
Ответ на: комментарий от dmitry_kozak

я тебе выше ссылку на библиотеку дал. Не знаю, насколько оно рабочее, но это из первого нагуглившегося.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от dmitry_kozak

>Т.е. я могу отсылать в CUPS документы в формате PostScript

И да, и нет ;) У тебя принтер - работает текстовом режиме. Да, у тебя есть область в EEPROM для заливки логотипа (и соответствующая ESC-последовательность для печати), область в EEPROM для хранения собственных символов, но режим все-равно текстовый.

Если ты сможешь преобразовать PS в массив ESC-кодов понятных принетру, то почему бы и нет?

Документашку по командам нашел? Вот и изучай.

К сожалению с CUPS я дела толком не имел. Надо было один раз, так я ему уже рамеченный файлик со всеми ESC-ами слал. Тоже, кстати, в Star, правда в COM, не термо и без штрих-кодов. Но в твоем случае все-равно какое-то символьное устройство в системе имеется.

У Star есть SDK. Смотрел?

Macil ★★★★★
()
Ответ на: комментарий от Macil

На счет текстового режима - хз, CUPS как-то же печатает тестовую страницу с графикой.

А на счет SDK, я так понял, что это набор инструментов для разработки под винду. Или это не так ?

dmitry_kozak
() автор топика

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

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Вот о том и говорю.

Есть у меня такие ttf шрифты под разные стандарты штрихкода. Можно преобразовать их в какой-то формат, понятный CUPS-у. Но какой это должен быть формат и как сказать купсу «Печатай этим шрифтом» - непонятно.

dmitry_kozak
() автор топика
Ответ на: комментарий от dmitry_kozak

ну, если купс графику на твоём принтере печатает, то в чём проблема? генериш штрих-код в PS и отдаёш этот PS на печать купсу. profit.

вот тебе даже ссыку нашёл: http://code.google.com/p/postscriptbarcode/

beastie ★★★★★
()
Ответ на: комментарий от dmitry_kozak

какой-то формат, понятный CUPS-у. Но какой это должен быть формат и как сказать купсу «Печатай этим шрифтом»

PostScript/PDF

beastie ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Спасибо, разобрался http://www.gnu.org/s/barcode/ .

Пока только утилиткой для консоли. Она сгенерила мне файл, который я просто отправил на печать.

Ща почитаю доку по библиотеке и начну делать на сях.

dmitry_kozak
() автор топика
Ответ на: комментарий от dmitry_kozak

>CUPS как-то же печатает тестовую страницу с графикой.

Значит поддерживается печать битмапов. Но это будет несколько корявее и медленнее, чем текст. У тебя как бы dpi не очень большой, и печатать векторные шрифты, особенно мелких кеглей будет не очень гут.

Интересно бы узнать в каком режиме оно работает. По моему, в TSP100 они слегка пожадничали на реализацию команд внутри принтера и ESC реализуется в неком эмуляторе.

Откуда драйвера под линукс брал?

А на счет SDK, я так понял, что это набор инструментов для разработки под винду

Почему именно под винду? SDK - это набор разработчика. В первую очередь там документация. Кроме того, какие-то библиотеки есть и под линукс.

Macil ★★★★★
()
Ответ на: система команд принтера от dmitry_kozak

>Я уже имею опыт поддержки таких принтеров напрямую в порт ( ESC ). Но на данный момент есть необходимость переехать под CUPS.

Или можно как-то посылать в CUPS команды принтера ??

"-o raw" не подходит?

nosuchuser
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.