Bdyssh! // Бдыщщь!

15M 7 on 1 Comp StOmP No AiR NO ZeRG RUSH!!1!" — %username% 1597.

Печать графических наклеек на PT-1230PC, PT-2430PC / Graphic labels printing

Вёрстка просто %лохматый_пушной_зверь. Когда-нибудь мне надоест сражаться с редактором.

Additionally to GPL, this program is catware.
If you find it useful in any way, pay for this program by spending one hour petting one or several cats.

При разработке техники и радиоэлектроники, постоянно существует необходимость маркирования изделий и кабелей. Существует доступный способ не только выполнять маркировку с промышленным качеством, но и сделать, чтобы она не смывалась спиртом и даже ацетоном.Для этого необходим принтер ламинированных наклеек, такой как Brother PT-1230PC или PT-2430PC. Оригинальные картриджи к нему обладают устойчивостью отпечатка к рапстворителям, а также существуют в различных цветах текста и основы, материалах основы, и др.К сожалению, данный принтер существует только со стыком USB, поэтому в дальнейшем предстоит переделка его в Ethernet/POE (за рамками данной статьи).Принтер PT-1230PCимеет ширину термоголовки 9 мм и печатает на лентах 3,5; 6; 9; 12 мм, причём печать на ленте 12 мм происходит с полями 1,5 мм.Принтер PT-2430PCимеет ширину термоголовки 18 мм и печатает на лентах от 3,5 до 24 мм, причём печать на ленте 24 мм происходит с полями 3 мм.Принтеры с более широкой головкой мне неизвестны. Хотя ещё есть PT-9700PC c RS232-портом (что непосредственно пригодно для работы через Ethernet/POE с модудем OSCaR и уже готовым ПО) и шириной ленты 36 мм. Данных о ширине термоголовки нет. Разрешение якобы 360 т/д.

Для работы с данными принтерами существует несколько программных продуктов:

During development of wide range of devices in DIY environment, there is always need to marking different items and cables. It is a way exist, and it is not so expensive, for not only make industrial-quality markings at home, but even these markings will be resist to alcohol and even acetone.There is special printer need for that task, like Brother PT-1230PC или PT-2430PC. Original tapes for it are resistive for mentioned solvents after printing, and comes in wide range of colors, canvas type, etc.Unfortunately, these printers are exist only with USB connection. So there is need in future to make it useable at industrial environment, using Ethernet/POE. (Not described here, will be developed later).The PT-1230PCmodel equipped with 9 mm (~3/8″) wide thermal printing head using 64 points (which equal to 180 dpi). This printer works on tapes 9/64″ to 1/2″, and 1/2″ tape can only be printed with 1.5 mm borders.The PT-2430PCprinter equipped with 18 mm (~3/4″) wide thermal printing head with 128 points. This printer works on tapes 9/64″ to 1″, and 1″ tape can only be printed with 3 mm borders.

I do not know any (compatible) wider models. No, there is PT-9700PC exist, it already have RS232 port, make it directly useful for Ethernet/POE conversion using OSCaR module and already existed software for it. It have tape width 36 mm. Printing head width not known. It is probably 360 dpi.

For using this printer, a number of software ways exist:

  1. glabels;
  2. b-label;
  3. драйвер для CUPS.
Самый простой способ это b-label, и он используется в каждодневной работе, но не поддерживает графические наклейки. Другие программы также не поддерживают вывод графики без масштабирования, а также ни одно ПО не поддерживает возможность пиксельного редактирования картинки перед печатью.Также полезным бывает создавать картинку динамически; кроме того, она может являться графиком или диаграммой, получаемой автоматически из другого ПО.Для этого можно сделать несложную программу, которая будет печатать изображение из командной строки: B-label is simplest, so i use it in everyday tasks. But it not support pictures. Other mentioned software also almost not support graphics without zooming (direct 1:1 output), and no one of products, does not support pixel-precise graphics printing.Also it is sometimes useful use dynamic images, or images from other software (diagrams, plots), also imagemagick-generated.So we need to write some code (as always, i make it simplest possible according to KISS rule):
WARNING!!!!111 THERE PROBABLY WILL BE LOST OR DAMAGED SYMBOLS DUE TO UNAVOIDABLE WORDPRESS EDITOR BUGGY BUGS. I am sorry. Write me if code not work, i will send you correct one.
sudo touch /usr/local/bin/sticker
sudo chmod a+rwx /usr/local/bin/sticker
sudo echo echo Use w=8 for PT-1230PC, w=16 for PT-2430PC; w=16; echo “” > pt.prn; for((i=0;i> pt.prn; done; convert “$1” -flop -rotate 90 -background white -gravity center -extent $((w*8))x -monochrome -colors 2 -depth 1 -negate r:img.raw; for((i=0;i> pt.prn; dd if=img.raw of=pt.prn bs=$w count=1 skip=$i oflag=append conv=notrunc > /dev/null 2>&1; done; echo -n -e \\x1a >> pt.prn; lpr -C “$1” -PPT-2430PC -o raw pt.prn’ > /usr/local/bin/sticker

sudo touch /usr/local/bin/sticker
sudo chmod a+rwx /usr/local/bin/sticker
sudo echo 'echo Use w=8 for PT-1230PC, w=16 for PT-2430PC; w=16; echo "" > pt.p
rn; for((i=0;i<255;i++)); do echo -n -e \\x00 >> pt.prn; done; convert "$1" -flo
p -rotate 90 -background white -gravity center -extent $((w*8))x -monochrome -co
lors 2 -depth 1 -negate r:img.raw; for((i=0;i< (`stat --format="%s" img.raw`/$w)
; i++)); do echo -n -e "G"\\x10\\x00 >> pt.prn; dd if=img.raw of=pt.prn bs=$w cou
nt=1 skip=$i oflag=append conv=notrunc > /dev/null 2>&1; done; echo -n -e \\x1
a >> pt.prn; lpr -C "$1" -PPT-2430PC -o raw pt.prn' > /usr/local/bin/sticker

Программа автоматически корректирует изображение по высоте, как уменьшая (обрезая), так и увеличивая (добавлением полей) высоту по необходимости, получая 128 точек для  PT-2430PC и 64 точки для PT-1230PC. Программа всегда сохраняет масштаб 1:1, поэтому, зная разрешение принтера (180 т/д), можно получать прецизионные наклейки.Примеры использования: Using examples:
sticker ./picture.gif
Для рисования наклеек можно отредактировать настройки gimp по умолчанию, таким образом получив шаблон с реальной размерной сеткой:Edit, Preferences, Default image: Width=1024, Height=128, Pixels, X resolution 180, Y resolution 180, px/in, Color: grayscale, Fill with: White.Edit, Preferences, Default grid: Spacing, Width, Height – xxx pixels (не трогать), ниже выбрать ‘mm’ и вписать к примеру 5 и 5 (значения вверху пересчитаются). После чего перезапустить редактор, нажать ^N, при этом можно поправить значение ширины в пикселях для данной текущей задачи. Затем View – Show Grid.После этого нарисовать хотя бы один элемент. Затем:Image – Mode – Indexed –  Use 1-bit palette.При этом, результат на экране станет в точности равен будущей наклейке: пропадут полутоновые переходы.Сгенерировать картинку из текста из командной строки (что позводит это делать автоматизированно), тоже не сложно. Принципиально важно при этом применение растровых шрифтов, так как принтер не поддерживает полутонов. При применении обычных ttf-шрифтов невозможно добиться превосходного профессионального результата с точностью до каждого выверенного пикселя.Один из немногих (если не единственный) современный растровый шрифт, это Terminus.К сожалению, в последнее время растровые шрифты поддерживаются в ОС и ПО всё хуже. В частности, в нашем случае, из-за этой проблемы, приходится использовать однобайтную устаревшую кодировку вместо utf-8. Using examples:
sh -c “convert -background white -font -xos4-terminus-medium-r-normal–32-*-*-*-*-*-koi8-r label:’`echo Text example / Пример текста | iconv -f utf8 -t koi8-r`’ text.png”

sh -c "convert -background white -font -xos4-terminus-medium-r-nor
mal--32-*-*-*-*-*-koi8-r label:'`echo Text example / Пример текста | ico
nv -f utf8 -t koi8-r`' text.png"

Для нескольких строк, с отображением результата:

sh -c "convert -background white -font -xos4-terminus-medium-r-nor
mal--32-*-*-*-*-*-koi8-r label:'`echo Текст1"\n"И ещё текст2 | i
conv -f utf8 -t koi8-r`' text.png; eog text.png"
Также не сложно добавить штрих-код, QR-код, поля переменных данных.Программа не определяет ширину заряженной ленты, это можно (но не необходимо) учитывать вручную, создавая изображение соответствующей высоты: 128 точек для ленты 24 и 18 мм, 85 точек для 12 мм, 64 точки для 9 мм, и т.д. One may see that using imagemagick, it is not hard to add from script also barcode, QR-code, user variables from database.Program can’t determine real width of used tape, one may (but not obligated) make it manually: use 128 px picture for 1″ and 3/4″ tapes, 85 px for 1/2″ tape, 64 px for 3/4″ tape. etc.

Hope it helps.

Keywords:

cheap, DIY, driver, label, laminated, linux, precision, print, printing, professional, PT-1230PC, PT-2430PC, sticker,