Enviando dados para Impressoras
Abaixo segue a lista das funções disponíveis nesse módulo de impressão do PHP. Se o nível da tradução estiver passando alguma idéia incorreta sobre determinada função, favor enviem comentários abaixo.
NOTA: o spool file é um tipo de arquivo temporário que armazena os dados que são enviados para a impressora.
printer_abort -- Deleta o "spool file printer" o conteudo que estava no spool file.
printer_close -- Fecha uma conexao com a impressora que esteja aberta
printer_create_brush -- cria um novo "pincel"
printer_create_dc -- Cria um novo contexto de dispositivo
printer_create_font -- cria uma nova fonte
printer_create_pen -- cria um novo "marcador"
printer_delete_brush -- deleta o tal do "pincel" o brush..
printer_delete_dc -- deleta o contexto de dispositivo
printer_delete_font -- deleta uma fonte
printer_delete_pen -- deleta um marcador
printer_draw_bmp -- desenha um bmp
printer_draw_chord -- desenha um acorde.. n
printer_draw_elipse -- desenha uma elipse (bolinhas ? :P)
printer_draw_line -- desenha uma linha
printer_draw_pie -- desenha um pie (dicionario: pastelao)
printer_draw_rectangle -- desenha um retangulo
printer_draw_roundrect -- desenha outro retangulo só que com bordas arredondadas
printer_draw_text -- "desenha" um texto
printer_end_doc -- fecha um documento
printer_end_page -- fecha uma pagina ativa
printer_get_option -- retorna dados de configuracao da impressora
printer_list -- essa é legal.. retorna dados em array das impressoras cadastradas (muito útil)
printer_logical_fontheight -- pega uma largura de fonte especifica ou seta
printer_open -- abre uma conexao com a impressora.
printer_select_brush -- seleciona um brush
printer_select_font -- seleciona uma fonte
printer_select_pen -- seleciona um "marcador"
printer_set_option -- seta opções para configuração da impressora
printer_start_doc -- inicia um novo documento.
printer_start_page -- inicia uma nova pagina
printer_write -- e por fim.. o principal.. efetivamente esse é o cara, ESCREVE!
NOTA: o spool file é um tipo de arquivo temporário que armazena os dados que são enviados para a impressora.
printer_abort -- Deleta o "spool file printer" o conteudo que estava no spool file.
printer_close -- Fecha uma conexao com a impressora que esteja aberta
printer_create_brush -- cria um novo "pincel"
printer_create_dc -- Cria um novo contexto de dispositivo
printer_create_font -- cria uma nova fonte
printer_create_pen -- cria um novo "marcador"
printer_delete_brush -- deleta o tal do "pincel" o brush..
printer_delete_dc -- deleta o contexto de dispositivo
printer_delete_font -- deleta uma fonte
printer_delete_pen -- deleta um marcador
printer_draw_bmp -- desenha um bmp
printer_draw_chord -- desenha um acorde.. n
printer_draw_elipse -- desenha uma elipse (bolinhas ? :P)
printer_draw_line -- desenha uma linha
printer_draw_pie -- desenha um pie (dicionario: pastelao)
printer_draw_rectangle -- desenha um retangulo
printer_draw_roundrect -- desenha outro retangulo só que com bordas arredondadas
printer_draw_text -- "desenha" um texto
printer_end_doc -- fecha um documento
printer_end_page -- fecha uma pagina ativa
printer_get_option -- retorna dados de configuracao da impressora
printer_list -- essa é legal.. retorna dados em array das impressoras cadastradas (muito útil)
printer_logical_fontheight -- pega uma largura de fonte especifica ou seta
printer_open -- abre uma conexao com a impressora.
printer_select_brush -- seleciona um brush
printer_select_font -- seleciona uma fonte
printer_select_pen -- seleciona um "marcador"
printer_set_option -- seta opções para configuração da impressora
printer_start_doc -- inicia um novo documento.
printer_start_page -- inicia uma nova pagina
printer_write -- e por fim.. o principal.. efetivamente esse é o cara, ESCREVE!
Pessoal alguem conseguiu imprimir pelo PHP um arquivo HTML, estou precisando URGENTEMENTE imprimir um relatório feito em HMTL pelo PHP, pq pelo Browser não encaixa de jeito nenhum no formulário.
Se alguem puder me ajudar meu MSN é joaoborgesbr@hotmail.com
Se alguem puder me ajudar meu MSN é joaoborgesbr@hotmail.com
27/01/2006 5:35am
(~19 anos atrás)
eu instalei a generic tex e ela imprimiu na bematech + depois q imprime ela sai o resto da folha em branco como se fosse um A4
tem como imprimir o texto e parar de puchar a folha?
tem como imprimir o texto e parar de puchar a folha?
09/12/2004 3:57pm
(~20 anos atrás)
cara é demais , php é foda,,, quem não pode com ele come farinha.. hehehe..
NOTA 10...
NOTA 10...
16/04/2004 4:17pm
(~20 anos atrás)
Peguei parte de um script no phpbuilter.com
e acho que pode funcionar em impressões via rede;
Você pode imprimir em XP. E, você pode imprimir a uma impressora compartilhada com XP. Devem ser instalados os Drivers para a impressora no servidor de como também no computador você deseja imprimir com. Também, a impressora deve ser compartilhada no computador do cliente.
Eu estou usando uma Zebra LP2844 Impressora de Barcode Térmica em minha aplicação. Eu sou XP corrente Pro,Apache 1.3.27, PHP 4.3+.
function getPrinter($SharedPrinterName) {
global $REMOTE_ADDR;
$host = getHostByAddr($REMOTE_ADDR);
return "\\\\".$host."\\".$SharedPrinterName;
}
$handle = printer_open(getPrinter("Eltron"));
Assim, contanto que você SAIBA que os computadores são suponha para ter uma impressora compartilhada chamado "Eltron", você é todo o jogo para começar enviando info à impressora com as outras funções de Impressora
e acho que pode funcionar em impressões via rede;
Você pode imprimir em XP. E, você pode imprimir a uma impressora compartilhada com XP. Devem ser instalados os Drivers para a impressora no servidor de como também no computador você deseja imprimir com. Também, a impressora deve ser compartilhada no computador do cliente.
Eu estou usando uma Zebra LP2844 Impressora de Barcode Térmica em minha aplicação. Eu sou XP corrente Pro,Apache 1.3.27, PHP 4.3+.
function getPrinter($SharedPrinterName) {
global $REMOTE_ADDR;
$host = getHostByAddr($REMOTE_ADDR);
return "\\\\".$host."\\".$SharedPrinterName;
}
$handle = printer_open(getPrinter("Eltron"));
Assim, contanto que você SAIBA que os computadores são suponha para ter uma impressora compartilhada chamado "Eltron", você é todo o jogo para começar enviando info à impressora com as outras funções de Impressora
31/03/2004 10:08pm
(~20 anos atrás)
Olá,
Bom, deve ser algum problema da lista de spool
tente limpar a fila e tente retornar dados sobre esta impressora usando
printer_get_option()
espero ter ajudado
Bom, deve ser algum problema da lista de spool
tente limpar a fila e tente retornar dados sobre esta impressora usando
printer_get_option()
espero ter ajudado
14/02/2004 8:36am
(~21 anos atrás)
Olá Marcelo!
Vc deve estar lembrado de mim, escrevi para vc algum tempo atrás sobre esse seu artigo!
Só agora tive tempo de testar o envio de dados para a impressora!
Para teste, utilizei as seguintes linhas de comando:
<?
$handle = printer_open("Printer"); //Printer é o nome da minha impressora...
printer_write($handle, "X-SQL é um menino legal");
printer_close($handle);
?>
E obtiver o seguinte erro:
Warning: couldn't allocate the printerjob [63] in C:\Apache2\htdocs\printer.php on line 7
Parece que ele encontrou a impressora, mas não consegue imprimir...
Vc sabe o que pode estar acontecendo??
Um abraço!
Vc deve estar lembrado de mim, escrevi para vc algum tempo atrás sobre esse seu artigo!
Só agora tive tempo de testar o envio de dados para a impressora!
Para teste, utilizei as seguintes linhas de comando:
<?
$handle = printer_open("Printer"); //Printer é o nome da minha impressora...
printer_write($handle, "X-SQL é um menino legal");
printer_close($handle);
?>
E obtiver o seguinte erro:
Warning: couldn't allocate the printerjob [63] in C:\Apache2\htdocs\printer.php on line 7
Parece que ele encontrou a impressora, mas não consegue imprimir...
Vc sabe o que pode estar acontecendo??
Um abraço!
13/02/2004 7:34pm
(~21 anos atrás)
Amigo seu php.ini provavelmente não está configurando com o diretorio extensions apontando para a pasta correta.. isso é percebido no erro
Unable to loaddynamic library './extensions\php_printer.dll'
coloque o diretorio onde existe o arquivo php_printer.dll e ele irá funcionar
qualquer outra duvida poste que eu lhe ajudo
Espero ter ajudado
Unable to loaddynamic library './extensions\php_printer.dll'
coloque o diretorio onde existe o arquivo php_printer.dll e ele irá funcionar
qualquer outra duvida poste que eu lhe ajudo
Espero ter ajudado
09/01/2004 9:24pm
(~21 anos atrás)
Eu tentei fazer testes com os códigos abaixo, mas não consegui devido a um problema:
Fui no php.ini e alterei a seguinte linha:
----------------------------
;extension=php_printer.dll
para
extension=php_printer.dll
----------------------------
simplemente tirei o ; da linha para que o php executasse-a! Mas, ele meretornou o seguinte erro ao dar um start no php:"PHP Warning: Unknown(): Unable to loaddynamic library './extensions\php_printer.dll' - Um dispositivo anexado ao sistema não está funcionando. in Unknown on line 0.
SO Win98;
apache tray 0.99-b6;
php4 versão 4.0.x
O que faço para dar certo?
<?php
$linhas = "linha1\n";
$linhas .= "linha";
// ou substitua na linha1 com <BR> mas
// provavelmente é \n mesmo se nao der
// dependendo do seu OS use \r\n
$handle = printer_open();
printer_write($handle, $linhas);
printer_close($handle);
?>
Fui no php.ini e alterei a seguinte linha:
----------------------------
;extension=php_printer.dll
para
extension=php_printer.dll
----------------------------
simplemente tirei o ; da linha para que o php executasse-a! Mas, ele meretornou o seguinte erro ao dar um start no php:"PHP Warning: Unknown(): Unable to loaddynamic library './extensions\php_printer.dll' - Um dispositivo anexado ao sistema não está funcionando. in Unknown on line 0.
SO Win98;
apache tray 0.99-b6;
php4 versão 4.0.x
O que faço para dar certo?
<?php
$linhas = "linha1\n";
$linhas .= "linha";
// ou substitua na linha1 com <BR> mas
// provavelmente é \n mesmo se nao der
// dependendo do seu OS use \r\n
$handle = printer_open();
printer_write($handle, $linhas);
printer_close($handle);
?>
09/01/2004 8:02pm
(~21 anos atrás)
vi a dica do marcelo, mas o php.ini esta correto pois a extensão gd2 que estou utilizando tambem esta funcionando perfeitamente... O que pode ser?