-1

Imprimindo via PHP sem confirmação de impressão

criado por Diego R. Mengarda em 01/06/2012 5:46pm
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
<?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.

Comentários:

Mostrando 1 - 2 de 2 comentários
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.
19/08/2013 7:51am (~1 ano 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 ??
18/08/2013 9:33pm (~1 ano atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)