может кто сталкивался с выводом на печать на этом чуде техники?
из РНР я все открываю и печатает НО...
мне надо чтобы на одной строке левая часть была выровняна по левому краю а правая по правому
все управление идет построчно с помощью echo chr()....
идеи есть а то уже голова не варит
epson TM-88III
- t34-62
- Вопрос темы решён
-
-
принтер тут не причём , для вывода на печать нужно HTML/CSS форматирование попробуй с этим кодом
PHP
Показать весь код<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title></title> </head> <style type="text/css"> @media print { /* ... Formatdefinitionen zum Drucken ... */ .druck { width:210mm; padding-left:10px;padding-right:10px;border:1px solid #000;} } @media screen, handheld { /* ... Formatdefinitionen zur Bildschirmausgabe ... */ .kein_druck { eigenschaft:wert; } } </style> <body> <div class="druck">Test</div> </body> </html>
-
все дело в том что идет автоматическая печать без принтердиалога(запуск автоматом с помощью print.bat)
поэтому все управление я могу сделать только в РНР с помощью команд управления принтером
я не смогу прикрутить в прогу этот css.Epson TM 88III это стандартный POS printer -
может кто сталкивался с выводом на печать на этом чуде техники?
из РНР я все открываю и печатает НО...
мне надо чтобы на одной строке левая часть была выровняна по левому краю а правая по правому
все управление идет построчно с помощью echo chr()....
идеи есть а то уже голова не варит
Я сталкивался.
Есть хорошая команда в PHP: sprintf
Например:
$output = sprintf ("%-20s %22s", $Left, $Right);
echo $output;P.S. А как ты собственно из PHP "печатаешь" на нем ?
-
например так
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 breiteecho 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);
} -
header("Content-type: application/vnd.print");
header("Content-disposition: inline; filename=bon_to_printer.prser");
header("Pragma: no-cache");
header("Expires: 0");
Понятно, спасибо.P.S. Не забудь что у него своя Code Page.
-
да это понятно но вот в чем вопрос он держит 2 зоны печати в строке или нет?
нигде не нашел а позиционирование по краю он делает только 1 раз в строке -
Думаю - нет.
P.S. У меня есть куча вопросов к тебе...
А где можно посмотреть, как работает твоя программа ?
Как делается заказ ?
Как учитытваются особые пожелания клиентов (например борщ без сметаны) ?
Как построена система скидок и наценок ?
И еще много разных .... -
стучи в личку пообщаемся
в принципе все очень просто PHP & MySQL 1 css 1 bat -
все ...разобрался strlen() for string.и дело в шляпе