Autor Tópico: Imprimir via Servidor [RESOLVIDO]  (Lida 2957 vezes)

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Imprimir via Servidor [RESOLVIDO]
« Online: Maio 05, 2015, 09:38:03 am »
Bom dia amigos(as) do fórum,

Estou com o seguinte problema: quero imprimir um arquivo bem simples no formato .txt que está na impressora do servidor Linux, o problema é que ele não está imprimindo, tentei usar este código abaixo:

$handle = fopen( "\\servidor\Hp Laser",  "w" );

E também dei uma olhada neste fórum que fala algo semelhante:

http://www.scriptcase.com.br/forum/index.php/topic,4054.0.html

Em ambos os casos não deu certo e antes que perguntem, a impressora já está compartilhada e pronta para uso...

Para teste criei uma tela de controle com o tipo de campo para Documento para pegar o arquivo em .txt que está no meu computador e gerar a impressão, alguém tem alguma sugestão ou exemplo? :(
« Última modificação: Maio 08, 2015, 02:42:53 pm por Marcelo Baptista »

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Imprimir via Servidor
« Responder #1 Online: Maio 05, 2015, 11:10:02 am »
coloca a impressora no samba.

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #2 Online: Maio 05, 2015, 02:58:17 pm »
Tentei Haroldo pelo Samba mas não consegui, tem alguma outra forma?

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Imprimir via Servidor
« Responder #3 Online: Maio 05, 2015, 03:01:05 pm »
Se a impressora está no linux, a sua app está em outro servidor (qual o SO ) ?

Se for isto, verifique se a porta do servidor linux, que está com a impressora, se está com a porta 631 aberta, se estiver envie via cups!

Att,

Jocimar
Jocimar de Oliveira

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #4 Online: Maio 05, 2015, 03:12:20 pm »
Se a impressora está no linux, a sua app está em outro servidor (qual o SO ) ?

Se for isto, verifique se a porta do servidor linux, que está com a impressora, se está com a porta 631 aberta, se estiver envie via cups!

Att,

Jocimar

Jocimar na verdade está no Windows, até desconsidera que está no Linux no momento, mas mesmo assim no windows não estou conseguindo imprimir, passo o IP e o caminho tudo direitinho e não vai. Mas futuramente irei precisar sim também para Servidores Linux nos servidores locais dos clientes (pela qual eu sou leigo e preciso aprender mais sobre esse SO).

Referente ao servidor de impressão do Windows tem alguma idéia de como proceder no SC?

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Imprimir via Servidor
« Responder #5 Online: Maio 05, 2015, 03:19:03 pm »
Marcelo,

Na inicial você mencionou que a impressora está no linux.
O linux recebe impressão por portas.

Além de configurar a impressora no linux, você precisa abrir esta porta para receber de outros IP's (mesmo que locais).

No windows o comando netstat por ser utilizado para verificar quais são as portas abertas, seja do micro local como de IP's, e é por aí que saberá se a porta em determinado "micro" esteja aberta, se estiver é só enviar a impressão através de comandos do tipo "lpd" "lpr" que atualmente o windows têm utilizado, inclusive para receber impressões. No caso de lpd / lpr a porta é a 515.

Dê um netstat -an   na linha de comando do seu micro windows e verá as portas que estão listing (escutando / abertas )
No linux utilize nmap localhost para o mesmo resultado.

Att,

Jocimar
Jocimar de Oliveira

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #6 Online: Maio 05, 2015, 03:40:33 pm »
Sim Jocimar realmente tinha mencionado no começo que era pro Linux, mas decidimos testar primeiro em um servidor Windows a impressão dos arquivos.

Mais uma vez obrigado pela tua ajuda e com certeza irei estudar mais sobre essas informações que você me passou.

 

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:Imprimir via Servidor
« Responder #7 Online: Maio 05, 2015, 05:29:23 pm »
 Eu utilizo uma impressora com servidor linux ubuntu
  e criei um botao php com o seguinte codigo
  --
 $teste = 'teste de impressao';

       $printer = "Zebra_TLP2844";
        $script = "print.sh";
        $script_path = "/var/www/html/lis/_lib/printLb/";
       $command = $script_path.$script;
       $parameter1 = " '".$printer."'";
       $parameter2 = " '".$teste."'";
       $command.=$parameter1.$parameter2;

       shell_exec($command);

« Última modificação: Maio 05, 2015, 06:20:49 pm por Arquimedes »

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #8 Online: Maio 05, 2015, 05:47:55 pm »
Eu utilizo uma impressora com servidor linux ubuntu
  e criei um botao php com o seguinte codigo
  --
 $teste = 'teste de impressao';

       $printer = "Zebra_TLP2844";
       $command = $script_path.$script;
       $parameter1 = " '".$printer."'";
       $parameter2 = " '".$teste."'";
       $command.=$parameter1.$parameter2;

       shell_exec($command);



Arquimedes obrigado por responder, testei o seu código de exemplo e deu o seguinte erro na aplicação:

ERRO
Undefined variable: script
ERRO
Undefined variable: script_path

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:Imprimir via Servidor
« Responder #9 Online: Maio 05, 2015, 06:21:16 pm »
Desculpe amigo esqueci de falar que é uma impressora de mesa TLP 2844 Zebra TLP2844, e
faltou essa variaveis
 $script = "print.sh";
        $script_path = "/var/www/html/lis/_lib/printLb/";

codigo completo abaixo

$teste = 'teste de impressao';

       $printer = "Zebra_TLP2844";
        $script = "print.sh";
        $script_path = "/var/www/html/lis/_lib/printLb/";
       $command = $script_path.$script;
       $parameter1 = " '".$printer."'";
       $parameter2 = " '".$teste."'";
       $command.=$parameter1.$parameter2;

       shell_exec($command);

« Última modificação: Maio 05, 2015, 06:39:37 pm por Arquimedes »

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Imprimir via Servidor
« Responder #10 Online: Maio 06, 2015, 12:19:01 am »
Boa noite,

Impressão pelo servidor:

1) Já tentou direto na porta? Não sei se irá funcionar
$fp = fopen("/dev/lp0", "w"); // linux nota: considerei que sua impressora esta no dispositivo lp0
$fp = fopen("LPT1", "w"); // windows
fwrite($fp,"nomearquivo");
fclose($fp);

Impressão pelo cliente:
2) somente funciona no servidor windows e no cliente pode escolher qualquer impressora que esteja instalada na estação:
http://blog.fabianobento.com.br/2011/12/enviando-uma-impressao-direto-pelo-php/
tem que habilitar php_printer.dll
http://php.net/manual/fa/intro.printer.php
Já usei e funciona, pena que somente pelo php rodando em servidor windows

Pelo comando php exec
3) Outra forma é como os colegas falaram:
http://php.net/manual/pt_BR/function.exec.php
windows -> exec("print /d:LPT1: C:\filename.txt");  -> https://technet.microsoft.com/en-us/library/cc775908%28v=ws.10%29.aspx
linux -> exec("lpr -P 'nomeimpressora' -r 'filename.txt');
Já usei deste jeito anos atrás

LPR
4) Se quiser padronizar o uso de comando lpr tanto no linux quanto no windows através do comando php exec
http://lmgtfy.com/?q=windows+lpd+lpr
https://technet.microsoft.com/pt-br/library/cc732063.aspx
https://technet.microsoft.com/pt-BR/library/cc728404.aspx
https://technet.microsoft.com/pt-br/library/cc731857.aspx
http://support.ricoh.com/bb_v1oi/pub_e/oi_view/0001042/0001042969/view/netsys/int/0207.htm
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #11 Online: Maio 06, 2015, 10:50:42 am »
Arquimedes e Alexandre, muito obrigado amigos pela ajuda de vocês!

Estarei estudando e testando com calma esses códigos, e assim que puder estarei retornando pra ver se deu certo. ;)

flaviomorais

  • Avançado
  • ****
  • Mensagens: 348
    • Email
Re:Imprimir via Servidor
« Responder #12 Online: Maio 06, 2015, 11:11:32 am »
inclui na sua pesquisa CUPS e IPP

Arquimedes e Alexandre, muito obrigado amigos pela ajuda de vocês!

Estarei estudando e testando com calma esses códigos, e assim que puder estarei retornando pra ver se deu certo. ;)

Marcelo Baptista

  • Intermediário
  • ***
  • Mensagens: 104
Re:Imprimir via Servidor
« Responder #13 Online: Maio 06, 2015, 11:25:18 am »
inclui na sua pesquisa CUPS e IPP

Arquimedes e Alexandre, muito obrigado amigos pela ajuda de vocês!

Estarei estudando e testando com calma esses códigos, e assim que puder estarei retornando pra ver se deu certo. ;)

Beleza Flávio vou incluir sim, obrigado pela ajuda!

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Imprimir via Servidor
« Responder #14 Online: Maio 06, 2015, 01:44:53 pm »
Ficamos no aguardo. Boa sorte.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?