2014-12-02 3 views
0

Я пробую распечатать qr-код в форме epson pos TM-T88V php, и я не могу. Информация, которую я получаю от epson-biz.com, совсем не понятна, и я ищу и не получаю никакого примера о правильных кругах для печати QR-кода. Я печатаю текст без проблем, но QR-код не работает. Это код, который я следовать за третьим состояние документации о условии Epson ESC-POS:Как напечатать qr-код в epson tm-t88v от php

if(($handle = @fopen("LPT1", "w")) === FALSE){ 
    die('I can't print, check your connection'); 
} 

fwrite($handle,chr(27). chr(64));//restart  
fwrite($handle, chr(27). chr(100). chr(0)); 
fwrite($handle, chr(27). chr(33). chr(8)); 
fwrite($handle, chr(27). chr(97). chr(1)); 
fwrite($handle,"================================="); 
fwrite($handle, chr(27). chr(100). chr(1)); 
fwrite($handle, chr(27). chr(32). chr(3)); 
fwrite($handle," No 1005 "); 
fwrite($handle, chr(27). chr(32). chr(0)); 
fwrite($handle, chr(27). chr(100). chr(0)); 
fwrite($handle, chr(27). chr(33). chr(8)); 
fwrite($handle, chr(27). chr(100). chr(0)); 
fwrite($handle, chr(27). chr(100). chr(1)); 
fwrite($handle,"================================="); 
fwrite($handle, chr(27). chr(100). chr(3)); 
// to here work, but the rest is the problem: 
    fwrite($handle, chr(29).chr(40).chr(107).chr(4).chr(0).chr(49).chr(65).chr(50).chr(0)); // Function 165 
    fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(67).chr(20)); // Function 167 
    fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(69).chr(48)); // Function 169 
    fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(80).chr(48)); // Function 180 
    fwrite($handle,"TEXTO DE PRUEBA DE CODIGO QR"); // this text go to QR 
    fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(81).chr(48)); //Function 181 
    fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(82).chr(48)); //Function 182 

fwrite($handle, chr(27). chr(100). chr(6)); 
fwrite($handle, chr(29). chr(86). chr(1));// cut paper 


fclose($handle); 
$exitmsj = shell_exec('lpr LPT1'); 

Например, в документации, которую я получаю от epson-biz.com сказать о функции 165 (я стараюсь следовать дробной части в моем PHP коде):

GS (k <Function 165> 
________________________________________ 
[Models] • TM-J2000 
• TM-J2100 
• TM-L90 
• TM-P60 
• TM-P60II 
• TM-P80 
• TM-T20 
• TM-T20II 
• TM-T70 
• TM-T70II 
• TM-T82II 
• TM-T88IV 
• TM-T88V 
• TM-T90 
• TM-U220 
• TM-U230 
[Name] QR Code: Select the model 
[Format] ASCII  GS  (  k  pL  pH  cn  fn  n1  n2 
Hex  1D  28  6B  04  00  31  41  n1  n2 
Decimal  29  40  107  4  0  49  65  n1  n2 

[Range] (pL + pH × 256) = 4 
cn = 49 
fn = 65 
n2 = 0 
n1: different depending on the printers 
[Default] n1 = 50, n2 = 0 
[Description] Selects the model for QR Code. 
n1 Function 
49 Selects model 1 
50 Selects model 2 
51 Selects Micro QR Code 

[Notes]  Settings of this function affect the processing of Function 181 and 182. 
 Settings of this function are effective until ESC @ is executed, the printer is reset, or the power is turned off. 

Возможно, кому-то удалось распечатать QR-код, используя команды ESC-POS? Я не знаю, правильны ли порядок функций (165, 167, 169, 180, 181, 182).

ответ

0

Я вижу, что у вас есть те же проблемы, что у меня были, по крайней мере, ниже, один пример для печати QR-кода, попробуйте настроить принтер на кубах linux и после использования команды echo -e "\ x" | LPR -P, этот пример отлично работает:

1D 28 6B 03 00 31 43 04 28 1D 6B 03 00 31 45 33 28 1D 6B 0дн 00 31 50 30 // Примечание 0дн = 13 символов 56 69 76 61 20 43 68 69 65 6c // 10 символов 1D 28 6B 03 00 31 51 30 00 1B 33 00 00 0A 1D 56 42 00 1B 32 // расстояние между строками, корма и вырезать из бумаги ...

Надеюсь, код выше вас может поддержать.

+0

Спасибо за ответ и так извините, пишите только до сих пор, но где я могу использовать пример, который вы даете? Код, который вы копируете, как я могу поместить в PHP-код, который я пишу в начале этого вопроса? –

1

изменить это:

fwrite($handle, chr(29).chr(40).chr(107).chr(3).chr(0).chr(49).chr(80).chr(48)); // Function 180 

для этого:

fwrite($handle, chr(29).chr(40).chr(107).chr(31).chr(0).chr(49).chr(80).chr(48)); // Function 180 

<Function 180> GS (k pL pH cn fn m d1…dk (cn = 49, fn = 80) 

k = (pL + pH x 256) – 3 

к = рупор много символов ты хочешь печатать ?, вы отправляете "Texto DE Prueba DE Codigo QR" (28).

k = (31 + 0 x 256) - 3 
k = (31 + 0) - 3 
k = 31 - 3 
k = 28 

все другие вещи просто следуют значениям по умолчанию для команд.

+0

Большое спасибо за вашу помощь, извините, пока я не ответил, я оставил проблему для других действий, но теперь мне нужно решить эту проблему, и теперь благодаря вам я МОЖЕТ ПЕЧАТЬ QR CODE в Epson TM-T81. Только один вопрос: как я могу изменить размер QR? Мне мало, и мне нужно положить на долото размера, я имею в виду, теперь я печатаю 14 мм x 14 мм, но мне нужно больше до 20 мм. Я пытаюсь изменить значение функции 167, но не работает. Вы можете мне помочь? Спасибо. –

+0

В конце я мог бы решить проблему следующим образом: fwrite ($ handle, chr (29) .chr (40) .chr (107) .chr (3) .chr (0) .chr (49) .chr (67) .chr (5)); // 167 Большое спасибо за помощь, исправлена ​​проблема. –

 Смежные вопросы

  • Нет связанных вопросов^_^