Jump to content
Fórum Script Brasil
  • 0

Fwrite Na Lp0 Do Cliente


Mário Miranda
 Share

Question

Bom dia.

Existe uma maneira de executar o comando fwrite na lp0 da máquina cliente?

A alguns meses atrás postei uma dúvida de como usar impressora genérica/somente texto para impressão do que eu chamo de Guia de entregas.

A solução que eu encontrei foi mapear a pasta do cliente no servidor php e fazer o fwrite nessa pasta mapeada.

Enquanto isso, um shell script ficava rodando na máquina do cliente à espera da chegada do arquivo criado pelo fwrite e quando chegava, esse shell script mandava o arquivo para a lp0 do cliente, fazendo imprimir a guia.

Não encontrei outra solução. Pesquisei bastante, mas não achei nada.

O problema é quando o mapeamento da máquina se perder.

Peço que mesmo que não saibam, deixem postado a negatividade.

Obrigado a todos.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Por que você não faz um processo inverso...

O clinete é sempre o mesmo? a mesma máquina? se sim dava para fazer um script que ficava no cliente checando um arquivo no servidor...

http://ip.do.servidor/arquivo_verificar.txt

neste arquivo teria uma lista... do que imprimir,

aí você até podia imprimir (o cliente pede para imprimir) usando open office, acho que é mais fácil.

http://www.dicas-l.com.br/dicas-l/20060713.php

Será?

Link to comment
Share on other sites

  • 0

ok, isso é uma rede de computadores só certo... em shell script tenho certeza que tem como você "mapear" máquinas, podia colocar no cron para a cada x tempo verificar se estava mapeado.

Tinha que ter um jeito do cliente "responder" se ele recebeu o pedido...

com um ping !, e conforme o retorno dele fazer ou não o mapeamento? e em algum lugar em banco de dados fique sempre atualizado qual cliente que está "liagado" e conforme isso o sistema principal "deixa" ou não imprimir. pode ficar essa tarefa de impressão errada em uma "fila" e daí quando o cliente volta a responder... envia para ele.

Pode ser que estou sendo simplista, claro, não sou eu quem tem que fazer isso aí funcionar... será que essa lógica tem algum fundamento?

Link to comment
Share on other sites

  • 0

Eu não havia pensado nisso.

Acho que essa verificação de quem está ou não ligado ao servidor pode ajudar.

Não sei se você chegou a ver os Posts que eu deixei a um tempo atrás perguntando como eu poderia fazer para imprimir essas guias.

Pra falar a verdade, essa "solução" que eu arrumei, ao meu ver é uma tremenda de uma gambiarra.

(acho que todo mundo que leu a "solução" também achou isso :D )

Gostaria de ter conseguido fazer uma forma mais limpa para poder imprimir.

Em máquinas windows até deu pra usar a função printer, mas o problema é que essa função é só pra windows. :huh:

Mas a dica que você deu já vai me ajudar bastante.

Obrigado pela atenção Helton.

Abraços e até mais.

Link to comment
Share on other sites

  • 0
Existe uma maneira de executar o comando fwrite na lp0 da máquina cliente?

Creio que sim, mas o diretório /dev do cliente tem que estar compartilhado e montado em seu Servidor e seu Cliente tem que ser Linux.

Uma outra solucão seria:

Passar o arquivo para o cliente via scp

e o cliente rodar um shell que procura sempre em um diretório "/impressao" por exemplo, arquivos para impressão.

Não acredito que é gambiarra a sua também não.

Acredito na solucão. É claro que tem solucões melhores ou piores, mas todas elas resolvem o problema.

;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...