Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Vida

Imprimir direto com PHP

Recommended Posts

Boa tarde galera, mais uma vez necessito da ajuda de vocês!

 

Estou precisando desenvolver uma aplicação aonde eu possa imprimir em cupom fiscal as informações desejadas...Só que seria inviável ficar abrindo o diálogo de impressão...Vi em outro forúm esse código abaixo... que segundo os usuários imprime direto.A principio não presciso receber as informações dinâmicamente,a variável pode conter um valor fixo.Só que eu não sei como vou enviar essas essa informações para impressora...A ideia seria criar um botão "imprimir" aonde a pessoa clica e a informação contida já na variável fosse impressa numa impressora de cupom fiscal!

Alguém tem alguma ideia de como posso fazer???

 

ABS e obrigado.

 

// INÍCIO DO CÓDIGO DE IMPRESSÃO DIRETA

$texto="TEXTO PARA IMPRIMIR"; // texto que será impresso
$_SESSION['PrintBuffer']="$texto"; 
$handle=printer_open("impressora"); // impressora configurada no windows
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle, $_SESSION['PrintBuffer']);
printer_close($handle);

// FIM DO CÓDIGO DE IMPRESSÃO DIRETA

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ideia seria criar um botão "imprimir" aonde a pessoa clica e a informação contida já na variável fosse impressa numa impressora de cupom fiscal!

Alguém tem alguma ideia de como posso fazer???

 

Lucas,

 

O código que você mesmo colocou faz exatamente isso, tudo o que você precisa agora é colocar os dados referentes a sua impressora e mandar imprimir:

 

arquivo_que_tem_o_botao_imprimir.html

<input type="button" value="Imprimir" onclick="window.location.href='imprime.php'" />

 

Ai no arquivo que vai imprimir:

 

imprimir.php

<?php 
$texto = 'TEXTO PARA IMPRIMIR'; // texto que será impresso

if ( $handle = printer_open( "impressora" ) ){ // impressora configurada no windows
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle, $texto );
printer_close($handle);
} else echo 'Não foi possível abrir a impressora';

 

Veja esse link para mais informações: http://br.php.net/ma...ook.printer.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, não funcionou...

Pelo o que eu vi no php.net só funciona pra

Estas funções somente estã disponíveis no Windows 9.x, ME, NT4 e 2000. Elas foram adicionadas no PHP 4.0.4.

sem contar que preciso abilitar o php_printer.dll no php.ini e nem sei como faz isso...hehehe!Sem contar que é um impressora de cupom fiscal, e a mesma em o papel de 80mm,

teria que configurar para esse tipo de impressão. Também me surgiu a necessidade de colocar uma logomarca no alto da impressão. sendo assim prensei em criar uma função que abra e imprima algum arquivo doc ou pdf, o arquivo pode estar na maquina, pois vão ser arquivos fixos, apenas devem ser impressos quando o cliente clicar...Pois testei imprimir uma página com 80mm de largura direto do word e funcionou beleza!

Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, no caso estou tentando evitar a janela de impressão...no caso da window print ele iria abrir o diálogo de impressão!

 

Vi no PHP net que essa função foi retirada das versões mais recentes e que é presciso de uma dll, mas naum acho o arquivo!

 

Alguém sugere mais algo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos!

Consegui resolver em partes meu problema com esse código ao qual um professor meu me passou.no caso fiz a configuração do servidor local, direto na máquina do cliente.

 

$local_file = "C:\imprimir.txt"; // Definimos o local para salvar o arquivo de texto
$escreve = "Teste de impressao\nEste texto está sendo impresso por uma página em PHP!!"; // A variavel escreve será o que desejamos imprimir e escrever no arquivo de texto
$fp = fopen($local_file, "w+"); //utilizamos o operador w+ para criar o arquivo imprimir.txt, e APAGAR tudo que já existe nele, caso ele já exista.
$salva = fwrite($fp, $escreve);
fclose($fp);

// Agora que já temos o arquivo imprime.txt, no local indicado por $local_fil, basta mandar imprimir:

system("copy " . $local_file . " lpt1:"); // Envia o arquivo para a porta LPT1
printf ("<br>O texto: \"%s\" está sendo impresso. Por favor, aguarde.", $escreve);

Só pelo que eu entendi ele pega, cria um arquivo TXT escreve as informações e copia as informações manda para a porta LPT1 imprimir. Sendo assim ele usa o DOS pra poder fazer isso, correto?

queria saber se da pra mandar imprimir um arquivo DOC ou PDF por esse sistema, pela função system, pois mantive o copy e ele imprimiu um monte de caractére ASCII, pois tenho necessidade de imprimir um documento que tenha imagem. Outro problema que eu tenho é que a impressora é de cupom fiscal e a mesma tem guilhotina automática...Sendo assim quando imprime ele não sabe quando o arquivo TXT acaba,tem alguma função que define o "fim da página"?

 

Obrigado a todos!

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.