Imprimindo via PHP sem confirmação de impressão
Olá pessoal,
esta é minha primeira contribuição no phpbrasil, espero poder ajudar a comunidade.
Nesse artigo irei mostrar como se utiliza a extensão de php, php_printer.
Detalhe importante, essa extenção é só para windows.
Ela imprime diretamente na impressora selecionada sem abrir a janela de confirmação para o usuário.
Na prática:
Você precisa baixar o pacote PECL versão 5.2.6, aqui está o link.
http://museum.php.net/php5/pecl-5.2.6-Win32.zip
Após baixar, coloque o arquivo php_printer.dll dentro da pasta /php/ext e reinicie seu apache.
Eu alterei minha versão do php para 5.2.6 para evitar algum tipo de incompatibilidade.
Após estar tudo pronto, o resto é simples, aqui está o código.
Imprimir texto
Imprimir algum arquivo
E é isso pessoal, caso vocês precisam configurar mais alguma coisa para as impressões é só olhar no manual do php da extensão printer, aqui está o link:
http://php.net/manual/pt_BR/book.printer.php
Espero ter ajudado, um abraço a todos.
esta é minha primeira contribuição no phpbrasil, espero poder ajudar a comunidade.
Nesse artigo irei mostrar como se utiliza a extensão de php, php_printer.
Detalhe importante, essa extenção é só para windows.
Ela imprime diretamente na impressora selecionada sem abrir a janela de confirmação para o usuário.
Na prática:
Você precisa baixar o pacote PECL versão 5.2.6, aqui está o link.
http://museum.php.net/php5/pecl-5.2.6-Win32.zip
Após baixar, coloque o arquivo php_printer.dll dentro da pasta /php/ext e reinicie seu apache.
Eu alterei minha versão do php para 5.2.6 para evitar algum tipo de incompatibilidade.
Após estar tudo pronto, o resto é simples, aqui está o código.
Imprimir texto
<?php $printer = "Nome da Impressora"; if($ph = printer_open($printer)) { printer_set_option($ph, PRINTER_MODE, "RAW"); printer_write($ph, "Aqui vai seu texto"); printer_close($ph); } ?>
Imprimir algum arquivo
<?php $printer = "Nome da Impressora"; if($ph = printer_open($printer)) { $fh = fopen("arquivo.txt", "rb"); $content = fread($fh, filesize("arquivo.txt")); fclose($fh); printer_set_option($ph, PRINTER_MODE, "RAW"); printer_write($ph, $content); printer_close($ph); } ?>
E é isso pessoal, caso vocês precisam configurar mais alguma coisa para as impressões é só olhar no manual do php da extensão printer, aqui está o link:
http://php.net/manual/pt_BR/book.printer.php
Espero ter ajudado, um abraço a todos.
Talvez isso ajude: http://php.net/manual/fa/function.printer-open.php
25/01/2018 10:22am
(~7 anos atrás)
Adriano, certa vez precisei fazer isso no linux num sistema bem específico. Resolvi fazendo o seguinte:
- gerava um arquivo .txt simples com a informação que iria ser impresso;
- pegava o caminho desse arquivo e mandava via exec(); imprimir direto em uma determinada impressora.
- gerava um arquivo .txt simples com a informação que iria ser impresso;
- pegava o caminho desse arquivo e mandava via exec(); imprimir direto em uma determinada impressora.
29/03/2017 7:41pm
(~7 anos atrás)
<?php
$printer = "Nome da Impressora";
if($ph = printer_open($printer))
{
printer_set_option($ph, PRINTER_MODE, "RAW");
printer_write($ph, "Aqui vai seu texto");
printer_close($ph);
}
?>
Alguém pode dizer como imprimir o html ao invés de texto, Utilizando esta função?
$printer = "Nome da Impressora";
if($ph = printer_open($printer))
{
printer_set_option($ph, PRINTER_MODE, "RAW");
printer_write($ph, "Aqui vai seu texto");
printer_close($ph);
}
?>
Alguém pode dizer como imprimir o html ao invés de texto, Utilizando esta função?
19/03/2017 3:23pm
(~7 anos atrás)
Bom dia...
Fiz um sistema de Painel de Chamadas Eletrônico, todo em PHP, tipo aquele controle da fila por senhas desta forma:
- 1 PC que eh tb o servidor da aplicação, com a tela touch screen do totem e uma impressora térmica.
- 1 raspberry, ou mini PC para alimentar a TV
- Na impressão do ticket pelo navegador, sempre aparecia o prompt de impressão.
resolvi com http://www.rafaelzottesso.com.br/2012/09/imprimir-sem-janela-de-confirmacao-no-mozilla-firefox/
- Não consegui com outros navegadores
Vou testar a DLL acime e posto o resultado
Fiz um sistema de Painel de Chamadas Eletrônico, todo em PHP, tipo aquele controle da fila por senhas desta forma:
- 1 PC que eh tb o servidor da aplicação, com a tela touch screen do totem e uma impressora térmica.
- 1 raspberry, ou mini PC para alimentar a TV
- Na impressão do ticket pelo navegador, sempre aparecia o prompt de impressão.
resolvi com http://www.rafaelzottesso.com.br/2012/09/imprimir-sem-janela-de-confirmacao-no-mozilla-firefox/
- Não consegui com outros navegadores
Vou testar a DLL acime e posto o resultado
27/10/2015 9:01am
(~9 anos atrás)
Aderson,
esse botão poderia ser em javascript ou php,
Com javascript teria que ser enviado uma requisição ajax para realizar a impressão.
Com PHP seria usando um formulário simples com um botão submit.
esse botão poderia ser em javascript ou php,
Com javascript teria que ser enviado uma requisição ajax para realizar a impressão.
Com PHP seria usando um formulário simples com um botão submit.
19/08/2013 7:51am
(~11 anos atrás)
Olá Diego beleza,
brother essa função é para que o internauta/visitante que esta navegando por site e quer imprimir um texto ai existe o botão imprimir ele clica e pronto ??
brother essa função é para que o internauta/visitante que esta navegando por site e quer imprimir um texto ai existe o botão imprimir ele clica e pronto ??
18/08/2013 9:33pm
(~11 anos atrás)