Конференция "WinAPI" » Delphi + принтер Zebra TLP2844 [WinXP]
 
  • mefodiy (11.07.11 14:45) [0]
    Принтер Zebra TLP2844 для печати штрих-кодов и этикеток нормально установился (порт USB001). Нормально печатает тест. Есть документация с управляющими командами. В общем-то все понятно, но печатать в нужном виде не удается. Знаю, что тема обсуждалаcь на многих формумах (и на этом в том числе), но тем не менее прошу помочь. Принтер установился под именем "Zebra  TLP2844". Пробовал варианты (пример взят из руководства):
    1)F: TextFile;
     ...............
     AssignFile(F,'Zebra  TLP2844');
     Rewrite(F);
     Writeln(F,'N' + Chr(10));
     Writeln(F,'A50,0,0,1,1,1,N,"Example 1"' + Chr(10));
     Writeln(F,'A50,50,0,2,1,1,N,"Example 2"' + Chr(10));
     Writeln(F,'A50,100,0,3,1,1,N,"Example 3"' + Chr(10));
     Writeln(F,'A50,150,0,4,1,1,N,"Example 4"' + Chr(10));
     Writeln(F,'A50,200,0,5,1,1,N,"EXAMPLE 5"' + Chr(10));
     Writeln(F,'A50,300,0,3,2,2,R,"Example 6"' + Chr(10));
     Writeln(F,'P1' + Chr(10));
     CloseFile(F);
    Создается просто текстовый файл с названием 'Zebra  TLP2844.txt'
    2)Устанавливаю этот принтер по умолчанию и далее:
     F: TextFile;
     ..............
     AssignPrn(F);
     далее то же самое
    Принтер печатает все, что в Writeln(...) как текст, т.е. управляющие команды не действуют.
    3) Расшарил принтер и в cmd задал команду
     net use LPT1: \\printserver\sharename
    Но при попытке что-то послать на LPT1 вылетает ошибка "Access is denied".
    Прошу помочь.Спасибо.
  • Сергей М. © (12.07.11 09:26) [1]
    Зачем тебе этот геморрой с "управляющими командами" ?
    Все эти заботы об этом берет на себя драйвер принтера.
    Все что нужно - сверстать в любом подходящем и удобном  дизайнере-генераторе отчетов (взять хоть тот же QuickReport, FastReport или RaveReport) шаблон будущей этикетки, заполнить его данными и вывести на печать стандартными методами печати конкретно взятого отчета.
  • sniknik © (12.07.11 09:34) [2]
    а где у тебя "управляющие команды"? в упор не вижу, строки есть, команд нет... т.что правильно он печатает -
    > все, что в Writeln(...) как текст

    > Все эти заботы об этом берет на себя драйвер принтера.
    ну, не знаю, когда с ними работал, то ли драйверов не было то ли еще что... ни word, ни QuickReport, FastReport (RaveReport не пробовал) не печатал этикетки нормально (word правда печатал как картинку, а значит и другие могли, но штрих-код сделанный в нем и напечатанный так на простом листе А4 читался, а на принтере штрих кодов нет...)
  • sniknik © (12.07.11 09:36) [3]
    и еще кстати
    > Writeln(F,'N' + Chr(10));
    перевод строки в линух стиле... это по протоколу? а ничего что Writeln еще #13#10 добавит?
  • Сергей М. © (12.07.11 09:51) [4]

    > не печатал этикетки нормально


    Да похоже все семейство Зебры LP28xx кривоватое в этом плане..
    Помаялся когда-то с 2824, капризы у него были одни и те же и постоянные, хоть через драйвер хоть напрямую .. А если нет разницы, то зачем себе усложнять жизнь ?)
  • sniknik © (12.07.11 10:48) [5]
    > хоть через драйвер хоть напрямую
    да не, напрямую (командами) все было ок.

    > то зачем себе усложнять жизнь ?)
    напечатанный штрих код должен читаться сканером штрих кодов, без этого смысла в этой железке нет.
  • sniknik © (12.07.11 10:55) [6]
    > все было ок.
    в смысле когда штрих код он печатал сам, как только его задавали картинкой со сжатием у него пропорции сбивались. а через word по другому не получалось (он все время пытался сам размер подгонять).

    но вообще давно это было... может уже поменялось.
  • Сергей М. © (12.07.11 11:19) [7]

    > без этого смысла в этой железке нет


    Ну положим не на всякой этикетке рисуют штрих-код.
    Опять же тут, наверно, разумней подходить к решению дифференцированно - при относительно больших размерах этикетки и в зависимости от конкретного стандарта штрих-кодирования и размера зоны штрихкода на этикетке можно попробовать и с графикой поиграться. Вот когда сканер откажется читать выведенный в графике штрих-код - тогда уж можно и прямым управлением озаботиться.
  • mefodiy (12.07.11 11:47) [8]
    >> Сергей М.
    А как в QuickReport печатать штрих-коды. Нужны дополнительные компоненты?
  • Сергей М. © (12.07.11 12:35) [9]
    На канве стандартного QR-компонента TQRImage отрисовывай граф.изображение штрих-кода, построенного любым из подходящих сторонних компонентов для построения и визуализации штрих-кодов.
  • sniknik © (12.07.11 12:54) [10]
    > А как в QuickReport печатать штрих-коды.
    картинкой. нарисуй и печатай.

    + для word-а есть шрифты, т.е. просто текст с 1234567890 будет выглядеть как куча полосок штрих кода.
    для печати на обычном лазерном принтере вполне нормально работало, в зебру устанавливать как то не пробовали (да и зачем? там же есть просто команда его печати).
  • Сергей М. © (12.07.11 12:59) [11]
    Вообще для Зебры есть специализированный редактор этикеток ZebraDesigner
  • mefodiy (12.07.11 13:57) [12]
    У меня заработал третий вариант (были проблемы с настройкой принтера). Команды также нормально работают.
    Всем спасибо.
 
Конференция "WinAPI" » Delphi + принтер Zebra TLP2844 [WinXP]
Есть новые Нет новых   [134431   +11][b:0][p:0]