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:
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?
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?
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.
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/”;
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);
Bom galera conseguimos resolver aqui a impressão depois de muito trabalho que tivemos, usando o samba e mais alguns exemplos dos que me ajudaram aqui, quero agradecer mais uma vez pelo apoio e ajuda amigos do fórum!
Marcelo,
Por favor poste a solução usada, para que esta pergunta não se repita no Fórum.
E quem ajudou com alguma possível solução saiba o que serviu ou não.
Obrigado
Claro Alexandre com muito prazer, perdão por não ter postado antes, estava sem tempo e desculpa pela demora…mas vamos lá:
Foi criado um código para impressão da etiqueta Zebra de teste atribuindo a uma variável. Depois usamos o fopen pra gerar esse arquivo em um diretório temporário usando assim o nome do usuário -> [qusuario] para não dar problemas e nem conflitos na geração das etiquetas. No comando exec() o Samba é usado para comunicar com a impressora compartilhada de um servidor Windows e também ele pega o arquivo tmp que foi gerado e é impresso a etiqueta Zebra instantaneamente conforme o código abaixo: