Imprimir um arquivo através de outro computador por uma conexão remota
7 respostas
P
Pedro22
A ideia é que o computador 1 em sua casa, ao realizar uma conexão, consiga utilizar a impressora do computador 2 que está em seu trabalho. a partir dai, através de um programa do nosso trabalho, poderá imprimir os pedidos de sua casa, pois ao clicar em imprimir vai aparecer a impressora remota…
Tem como? Citei JAVA por ter mais contato, mas se souberem em outra linguagem, ou até web, pode passar que eu tento. Se não, eu tenho que ficar vendo os pedidos dele e imprimindo manualmente, dessa forma ele conseguiria conectar ao meu computador e imprimir, desde já agradeço!
Sim, é só você fazer 2 sistemas que troquem mensagens entre si.
O sistema instalado na empresa recebe os arquivos do sistema da sua casa e envia para a a impressora.
gpd38
Acredito que seria mais ou menos assim: É um exemplo bem basicão.
Conectar ao computador remoto: Você pode usar a classe Socket para se conectar ao computador remoto por sua conexão de rede e porta apropriada.
Enviar o arquivo para o computador remoto: Você pode usar a classe OutputStream para enviar o conteúdo do arquivo a ser impresso para o computador remoto.
Configurar a impressora no computador remoto: Você precisará configurar a impressora no computador remoto para imprimir o arquivo recebido.
Enviar um comando de impressão para a impressora: Você pode usar a classe PrintWriter para enviar um comando de impressão para a impressora no computador remoto.
importjava.io.*;importjava.net.*;publicclassRemotePrinter{publicstaticvoidmain(String[]args){Stringhostname="hostname";// substitua pelo nome do computador remotointport=1234;// substitua pela porta apropriadaStringfilename="file.pdf";// substitua pelo nome do arquivo a ser impressotry(Socketsocket=newSocket(hostname,port);OutputStreamoutput=socket.getOutputStream();PrintWriterwriter=newPrintWriter(output)){// enviar o arquivo para o computador remotoFilefile=newFile(filename);FileInputStreamfileInput=newFileInputStream(file);byte[]buffer=newbyte[1024];intbytesRead;while((bytesRead=fileInput.read(buffer))!=-1){output.write(buffer,0,bytesRead);}// configurar a impressora no computador remotowriter.println("SET PRINTER "+"printer_name");// substitua pelo nome da impressora// enviar um comando de impressão para a impressorawriter.println("PRINT "+filename);writer.flush();System.out.println("Arquivo impresso com sucesso!");}catch(UnknownHostExceptionex){System.err.println("Computador remoto não encontrado: "+ex.getMessage());}catch(IOExceptionex){System.err.println("Erro de entrada/saída: "+ex.getMessage());}}}
Substituir hostname , port , filename e printer_name pelos valores apropriados para o seu caso
staroski
Isso não vai funcionar.
Você só está escrevendo comandos do MSDOS em um OutputStream, ou seja, só está enviando uma String para o código cliente do computador remoto.
Tem que enviar o conteúdo do arquivo para o código cliente do computador remoto e esse código cliente tem que conectar com a impressora e enviar o arquivo.
P
Pedro22
Então, a ideia seria imprimir direto do programa, ele não gera um arquivo (que a gente salve no caso), ele já envia direto para a impressora:
Dai ficaria a impressora no lugar desse do One Note, sei que tem como conectar pela mesma rede, mas queria em outra rede… Quem sabe se conectar pelo IP do computador não consegue compartilhar a impressora?
davidbuzatto
Cara, não inventa. Usa algum programa específico pra isso como TeamViewer ou mesmo a assistência remota do Windows. Impressora da problema localmente, imagina ficar mandando trabalhos para uma impressora remota onde você não tem ideia do que está acontecendo, pois está longe de onde vc está. É só parar para pensar um pouco que dá para notar que essa ideia é uma baita de uma furada. Expor uma impressora pra fora da intranet não parece ser uma ideia boa também.
P
Pedro22
Kkkk, eu já pensei em usar esses programa de compartilhar tela, mas dai eu poderia estar usando o PC aqui e acabar 2 mexendo, não ia dar
Mas enfim, vou continuar no manual mesmo… obrigado
J
JGus
Existem programas que simulam uma impressora e direcionam a impressão para um arquivo pdf. Não sei se resolve o problema, mas parece menos problemático do que fazer a impressão remotamente.