Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal. Eu possuo um sistema de gestão em PHP desenvolvido para pequenas e médias empresas, e estou com um problemão. Um novo cliente tem a necessidade de imprimir etiquetas com códigos de barras. Até aí tudo bem.
O grande problema é que o sistema atual dele faz as impressões através de uma impressora térmica ARGOX OS 214, e pelo que eu andei pesquisando, é necessário enviar comandos através de uma linguagem chamada PPLA para que a impressora possa imprimir. Até dei uma olhada no manual da linguagem , mas a minha grande dúvida é:
Existe a possibilidade de o PHP enviar tais comandos para a impressora? Ou existe alguma outra solução? Lembrando que o desenvolvimendo do sistema em outra linguagem é inviável.
Grato pela atenção!
Olá riraito. Infelizmente a impressora não imprime via Sistema Operacional. Não é possível abrir o diálogo de impressão e escolher a impressora. Exatamente este o motivo de eu estar com problemas. Pelo que eu pesquisei ela imprime apenas via linguagem PPLA.
Bom, se você conseguir fazer um "programinha" em PPLA para imprimir, basta executá-lo usando php! Se quiser ajuda, me passa o link do manual!
Bom o negócio é meio complicado! Agora a gente vai ter que se voltar para outro ponto! Vamos ter que abrir o ms-dos ou prompt de comando do computador e executar as ações a partir de lá!
Me explique melhor! O cliente vai mandar imprimir através de um site? Aí o comando vai ser enviado para uma outra máquina, e essa máquina manda o comando para a impressora?
Bom vamos testar? Vou usar o comando shell_exec do php, como foi apresentado pelo Evcandro no topico que criei! E utilizarei os comandos do LINK2 que você passou!
<?php
$teste=shell_exec(C:\COPY <nome do arquivo com a extensao> <porta>);//Não esqueça de retirar os sinais de "<" e ">" depois que você digitar os nomes! E a porta que está aí é a porta COM ou LPT na qual a impressora está conectada!
echo"teste";
?>Falcao, referente à sua pergunta o penúltimo post, é isso mesmo. O cliente vai mandar imprimir através de uma intranet. Neste caso específico, eu instalei todo o servidor junto com o sistema no servidor local do cliente. A impressora está conectada diretamente neste servidor local.
Vou testar o código que você me passou. O próximo passo seria criar esse arquivo txt baseado na linguagem PPLA, correto?
Exato! Basta seguir as instruções do link 2 que você me passou! Lá ensina tudo direitinho! Se você quiser pode ser em outro formato!
Pessoal me desculpem, mas eu não entendi.
Eu tenho uma argox instalada no usb. Qual valor do campo porta eu uso. tentei rodar o código abaixo e nada.
<?php
$teste=shell_exec('COPY teste.txt,' USB001);//Não esqueça de retirar os sinais de "<" e ">" depois que você digitar os nomes! E a porta que está aí é a porta COM ou LPT na qual a impressora está conectada!
echo"teste";
ECHO var_dump($teste);
?>
Outra pergunta é como rodar um script dessa impressora pelo DOS.
falcao544,
Eu tentei usar o codigo e tbm nao consegui, de uma liga no manual porem nao consegui usar os comando no prompt.
Alguem ja descobriu como usar essa PPLA?
Agradeço desde já!
Fala galera, segue um exemplo de como fazer a impressão utilizando a Argox OS214plus.
ex: {valor}, {nome}, {marca} etc.
- Antes de imprimir é necessário instalar a DLL php_printer.dll no php;
- feito isto chegou a hora de imprimir pelo PHP;
<?php
$printer = printer_open("nome-da-impressora");// aqui você deve colocar o nome da impressora, é o mesmo que está no painel de controle o windows, no meu caso ficou "Argox OS-214 plus"
printer_set_option($printer, PRINTER_MODE, "raw");
$str = file_get_contents("etiqueta.prn");
$str = str_replace(array('{valor}', '{nome}', '{marca}'), array("1.600,00", "NOTEBOOK DELL", "DELL"), $str);
printer_write($printer,$str);
printer_close($printer);
?>
Pronto, agora execute o arquivo que o PHP vai imprimir na Argox.
OBS: O php que utilizei está instalado no windows, não realizei muitos testes e não testei com o linux, também não testei com outras impressoras ou modelos de Argox
o site do php (http://php.net/manual/pt_BR/book.printer.php) tem mais detalhes sobre o driver de impressão.
Espero que tenha ajudado. qualquer duvida é só perguntar :grin:
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
>
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
Olá, o link http://php.net/manual/pt_BR/book.printer.php contém mais informações sobre esta extensão, a principio eu usei no windows server 2008, quanto ao fato de rodar local ou online, é indiferente, tudo depende das configurações do seu servidor, contudo, é provável que um serviço de hospedagem como o Kinghost, Uolhost, locaweb, ou qualquer outro, não ofereça suporte para esta extensão.
>
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
Olá, esta função php_printer está disponivel em qualquer versão do php, roda online ou só localmente? como configuro o php_printer? Estou com erro nele...
Desde já, agradeço.
Lembrando que a impressora PRECISA ESTAR conectada no servidor, se você precisa imprimir remotamente, aconselho a procurar um plano de IP fixo no seu serviço de internet e utilizar um webservice para comunicar cliente/servidor
A impressora imprime normal pelo windows?
Abre um popup criando uma pagina em php com o que tu queres imprimir e um botao de impressão normal mesmo, (se o windows imprimir por ela)