Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

x_confused

Como imprimir via impressora térmica

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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á!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera, segue um exemplo de como fazer a impressão utilizando a Argox OS214plus.

 

- Primeiro você deve instalar o driver da Argox e o software Bartender (o CD de que acompanha a Argox contém os instaladores)

 

- depois você deve desenhar o modelo da etiqueta no software Bartender.

 

- Apos desenhar imprima na Argox através do Bartender para ver se o modelo esta correto etc.

 

- Aprovado o modelo da etiqueta, chegou a hora de colocar no PHP.

 

- Ainda no Bartender, aperte CTRL+P e vá na aba Opções e marque, 'imprimir para arquivo', feito isso aperte botão para imprimir.

 

- o Bartender vai solicitar que você salve o arquivo em algum lugar, eu sugiro salvar na mesma pasta dos arquivos php, no meu exemplo salvei com o nome de 'etiqueta.prn'.

 

- após salvar o arquivo, abra ele com algum editor de texto e altere os campos de valores, nome do produto, data, etc, para alguma 'chave' para que depois você possa alterar dinamicamente utilizando o str_replace ou algo assim.

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;

 

- Crie um arquivo com o seguinte código:

 

<?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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.