epson TM-88III

  • может кто сталкивался с выводом на печать на этом чуде техники?
    из РНР я все открываю и печатает НО...
    мне надо чтобы на одной строке левая часть была выровняна по левому краю а правая по правому
    все управление идет построчно с помощью echo chr()....
    идеи есть а то уже голова не варит ?(

  • принтер тут не причём , для вывода на печать нужно HTML/CSS форматирование попробуй с этим кодом

  • все дело в том что идет автоматическая печать без принтердиалога(запуск автоматом с помощью print.bat) ;(
    поэтому все управление я могу сделать только в РНР с помощью команд управления принтером
    я не смогу прикрутить в прогу этот css.Epson TM 88III это стандартный POS printer

  • может кто сталкивался с выводом на печать на этом чуде техники?
    из РНР я все открываю и печатает НО...
    мне надо чтобы на одной строке левая часть была выровняна по левому краю а правая по правому
    все управление идет построчно с помощью echo chr()....
    идеи есть а то уже голова не варит ?(


    Я сталкивался.
    Есть хорошая команда в PHP: sprintf
    Например:
    $output = sprintf ("%-20s %22s", $Left, $Right);
    echo $output;


    P.S. А как ты собственно из PHP "печатаешь" на нем ?

    Сообщение было отредактировано 6 раз, последнее редактирование пользователем Bobele ().

  • например так
    header("Content-type: application/vnd.print");
    header("Content-disposition: inline; filename=bon_to_printer.prser");
    header("Pragma: no-cache");
    header("Expires: 0");


    echo chr(27) . "@"; //Initializes the printer (ESC @)
    echo chr(27) . "G" . chr(1);
    echo chr(27) . "M" . chr(0);
    echo chr(27) . "a" . chr(1);//Specifies a centered printing position (ESC a)
    echo chr(27) . "!" . chr(32);//doppelte breite


    echo chr(27) . "!" . chr(32);
    echo "IHRE RECHNUNG".chr(10);
    echo chr(10);
    echo chr(27) . "a" . chr(0);
    echo "Tisch ".$tisch;
    echo chr(27) . "!" . chr(0);
    echo chr(10) ;
    echo " Bon Nr. ".$kasbon;
    echo chr(27) . "a" . chr(2);
    echo " Datum. ".$datum. chr(10);
    echo chr(10);
    $count = count($id);
    for($i=0;$i<$count;$i++)
    {
    if ($id[$i]<11){
    echo $id[$i].". ".uml($gericht[$i]). chr(10) ;//ausdrücken
    echo chr(27) . "a" . chr(2);
    echo $preis[$i]. chr(10) ;
    echo chr(27) . "a" . chr(0);
    }

  • да это понятно но вот в чем вопрос он держит 2 зоны печати в строке или нет?
    нигде не нашел а позиционирование по краю он делает только 1 раз в строке

  • Думаю - нет.


    P.S. У меня есть куча вопросов к тебе... ;)
    А где можно посмотреть, как работает твоя программа ?
    Как делается заказ ?
    Как учитытваются особые пожелания клиентов (например борщ без сметаны) ?
    Как построена система скидок и наценок ?
    И еще много разных ....
    ;)

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Bobele ().