Pessoal,
a minha aplicação (JSP/Servlet) rodará em uma rede com uma impressora no servidor (winXP) e uma em alguma máquina da rede (win também).
Estou querendo imprimir alguns relatórios em uma impressora e outros na outra impressora (vamos abstrair os motivos disso).
O sistema hoje funciona gerando arquivos PDF para os relatórios e impressos diretamente na impressora padrão do Windows.
//FOR WINDOWS 95 AND 98 USE COMMAND.COM
if( osName.equals( "Windows 95" ) || osName.equals( "Windows 98" )){
Runtime.getRuntime().exec("command.com /C start acrord32 /p /h" + claim.pdf);
}
//FOR WINDOWS NT/XP/2000 USE CMD.EXE
else {
Runtime.getRuntime().exec("cmd.exe /C acrord32 /p /h" + claim.pdf);
}
Como direcionar a impressão para uma impressora determinada?
Pensei em parametrizar isso em uma tabela ou arquivo. Quando imprimir um tipo de relatório X, direcionar para a impressora I1 e quando imprimir um tipo de relatório Y, direcionar para a impressora I2.
Ou, quem sabe, trocar a impressora padrão do WinXP (servidor) e simplesmente executar o código acima.
Ou ainda sei lá.
Complicado… :shock:
To me matando aqui tb pra ver se acho algo parecido com o seu…
Eu to fazendo impressao direto pra porta, e agora preciso permitir que o usuairo selecione a impressora ( no caso de rede e compartilhada ).
Dai preciso do nome completo dela para imprimir nela.
O problema é que nao acho ne como nem quem sabe como fazer isso: apresentar uma PrinterDialog() e pegar a URL da impressora selecionada.
Descobrindo o nome da impressora cadastrada no windows, alguém sabe o comando para imprimir pelo DoS?
Exemplo: Recuperei o nome LX-300 que é uma impressora cadastrada no windows, como posso fazer para mandar imprimir o arquivo teste.txt através do nome da impressora?
Temos q achar a solução em cima das informações abaixo.
[code]Acrobat Notes:
1. AcroRd32.exe filename -> Executes the reader and displays a file.
2. AcroRd32.exe /p filename -> Executes the reader and prints a file.
3. AcroRd32.exe /t path printername drivername portname -> Executes the reader and prints a file while suppressing the Acrobat print dialog box, then terminating the Reader.
The four parameters of the /t option evaluate to strings.
printername -> The name of the Printer.
drivername -> Your printer drivers name i.e. whatever apperars in the Driver Used box when viewing printer properties.
portname -> The printers port. portname cannot contain any "/" characters; if it does, output is routed to the default port for that printer.
If using Acrobat, substitute Acrobat.exe in place of AcroRd32.exe meaning:
/n Launch a separate instance of the Acrobat application
/s Open Acrobat suppressing the splash screen
/o Open Acrobat suppressing the open file dialog
/h Open Acrobat in hidden mode[/code]
Olá. Tbm estou precisando imprimir coisas em rede. O meu é em txt entao com oja disseram é mais facil. Mas eu não sei redirecionar o comando para uma outra impressora…
Esses problemas ja foram resolvidos? :?:
O método q estou usando é:
out = new FileWriter(ListaInfo.getPrinter()); //impressora padrao (local)
out.write(buffer_impressora.getBuffer());
out.close();
Eu pretendo não modificar a minha implementação pois teria q modificar o sistema inteiro… eu já estou a varios dias tentando resolver esse problema e estou ficando atrasada! :roll:
Agradeço qqer ajuda (estou começando a ficar preocupada…)
Ps: Esse é o meu primeiro post no forum, entao “Olá a todos! Muito prazer”