Joubert-JS 0 Denunciar post Postado Julho 1, 2015 Pessoal estou tentando realizar impressão na Bematech MP-4200 TH com PHP 5, mas não consigo poderiam me indicar algum blog/site que ensine a realizar este feito. Fico grato pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Filipe Tagliacozzi 1 Denunciar post Postado Julho 2, 2015 Bom dia, Joubert. Acabo de realizar esse feito. Na verdade, conseguimos mandar a impressão pra MP 4200 TH através da rede... <?php $impressora_porta_padrao = 9100; // Porta em que a impressora fica escutando por padrão $impressora_endereco_na_rede = "191.55.56.55"; // Ip da impressora na internet ou rede /* Criar o socket responsavel pela conexão com a impressora. */ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() falha: motivo: " . socket_strerror(socket_last_error()) . "<br>"; } else { echo "OK.<br>"; } echo "Conectando no endereço: " . $impressora_endereco_na_rede . " e porta " . $impressora_porta_padrao . "<br>"; $result = socket_connect($socket, $endereco_da_impressora_na_rede, $service_port); if ($result === false) { echo "socket_connect() falha: motivo: ($result) " . socket_strerror(socket_last_error($socket)) . "<br>"; } else { echo "OK <br>"; } //Pequena lista com comandos suportados pela impressora. // A impressora pode trabalhar recebendo instruções de configurações em Hexadecimal... $esc = "\x0"; // toda impressão deve começar com esse caracter de escape $cortaTotal = "\x1B\x69"; $avancaPapel = "\x0C"; $diminuiLineSpace = "\x1B\x33\x12"; $negritoOn = "\x1B\x45"; $negritoOff = "\x1B\x46"; $sublinhaOn = "\x1B\x56\x01"; $sublinhaOff = "\x1B\x56\x00"; $tamanhoDuploOn = "\x1b\x64\x01"; $tamanhoDuploOff = "\x1b\x64\x00"; $melhoraQualidade = "\x1D\xF9\x2D\x01"; $diminuiQualidade = "\x1D\xF9\x2D\x00"; $impressao = $esc . $melhoraQualidade . $diminuiLineSpace ; $impressao .= "Página teste! Impressora Funcionando\n outra linha\n"; $impressao .= $negritoOn . "Negrito ligado! " . $negritoOff . " agora desligado."; $impressao .= $cortaTotal; //Enviando ao socket da impressora echo "Enviando:"; socket_write($socket, $impressao, strlen($impressao)); echo "OK <br>"; //essa parte comentada, seria a parte que escuta de volta oque a impressora //tem a dizer, porem, nunca recebi nada por aí, /*&echo "Reading response:\n\n"; while ($out = socket_read($socket,2)) { echo (string)$out; }*/ echo "Closing socket..."; socket_close($socket); echo "OK <br>"; Vale lembrar que, dessa maneira, você esta sozinho no quesito de "fila de impressão". Tudo era resolvido pelos drivers de spooler do sistema operacional. Agora, caso necessário, você terá de criar uma aplicação para fazer esse serviço... Valeu. Retiramos os comandos daqui: http://www.bematech.com.br/administrador/files/equipamento/suporte/17/1394308953-Impressora_MP-4200TH_Manual_01_Manual_de_Programacao.pdf 1 Compartilhar este post Link para o post Compartilhar em outros sites
willbonde 0 Denunciar post Postado Junho 30, 2016 Bom dia! Felipe, usei seu codigo para imprimir uns tickets com codigo de barras, tudo deu certo como esperado, somente o bendito codigo de barras que não consigo imprimir, pois não consegui entender no manual como proceder. Passar um numero para impressora e ela imprimir em codigo de barras. Se puder ajudar eu agradeço muito. Compartilhar este post Link para o post Compartilhar em outros sites
J Vitor 0 Denunciar post Postado Junho 14, 2018 Boa tarde Filipe... Para a impressora USB tem alguma configuração disponivel ? Compartilhar este post Link para o post Compartilhar em outros sites
oliveiros 1 Denunciar post Postado Abril 12, 2019 Olá! Vej que o post é antigo, mas como teve atualizção em 2018, vou citar: Eu fiz isso em 2015 também. Ainda não tinha esse tópico, mas fiz de maneira diferente. Eu gero um arquivo pdf com dados do bd e depois executo o lpr(no linux) para imprimir Se for útil a alguém, é só pedir... Compartilhar este post Link para o post Compartilhar em outros sites