Estou utilizando uma impressora TERMICA Diebold procomp IM433TD mas quando vou imprimir uma string de caracteres atravez desse método
publicstaticvoidtesteMatric(){try{StringBufferdestino=newStringBuffer();destino.append("TESTE");StringcaminhoMatric="LPT1";//Adiciona caminho da impressoraFileOutputStreamoutputFile;outputFile=newFileOutputStream(caminhoMatric);PrintWriterout=newPrintWriter(outputFile);out.println("aa");out.flush();try{outputFile.close();}catch(IOExceptionex){}out.close();}catch(FileNotFoundExceptionex){}}
ELA SEMPRE! imprime [color=brown](RREMOTE1STSM [/color] e depois imprime o que eu mando
por exemplo:
com o método acima ela imprimiria:
[color=orange](RREMOTE1STSMTESTE [/color]
E por fim, mando imprimir utilizando o método abaixo
privatevoidimprimir(){for(inti=0;i<Integer.parseInt(jsCopias.getValue().toString());i++){// Conteúdo a ser impressoInputStreamstream=newByteArrayInputStream((gerarNotaTermica()+"\u039A").getBytes());impressora=ps[boxImpressoras.getSelectedIndex()];DocPrintJobdpj=impressora.createPrintJob();// Definição de atributos do conteúdo a ser impresso:DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE;// Cria um Doc para impressão a partir do arquivo exemplo.txtDocdocumentoTexto=newSimpleDoc(stream,flavor,null);try{// Imprime o documento sem exibir uma tela de dialogodpj.print(documentoTexto,null);}catch(PrintExceptionex){Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE,null,ex);}}}
T
tioola
Vinny:
Bom primeiro uso um método que identifica as impressoras para que o usuario possa selecionar em um comboBox
E por fim, mando imprimir utilizando o método abaixo
privatevoidimprimir(){for(inti=0;i<Integer.parseInt(jsCopias.getValue().toString());i++){// Conteúdo a ser impressoInputStreamstream=newByteArrayInputStream((gerarNotaTermica()+"\u039A").getBytes());impressora=ps[boxImpressoras.getSelectedIndex()];DocPrintJobdpj=impressora.createPrintJob();// Definição de atributos do conteúdo a ser impresso:DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE;// Cria um Doc para impressão a partir do arquivo exemplo.txtDocdocumentoTexto=newSimpleDoc(stream,flavor,null);try{// Imprime o documento sem exibir uma tela de dialogodpj.print(documentoTexto,null);}catch(PrintExceptionex){Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE,null,ex);}}}
O problema é que não posso ter ela instalada, preciria enviar direto na porta LPT1
L
Lindberg
ola
mesmo sendo pela porta LPT1 ou COM1, voce deve instalar isso sendo no WINDOWS > Generic > Texto.
isso serve para o SO ententer o codigo ASCII vai usar determinadas DLL.
a instalação vc aponta para a porta desejada.
ja tive este problema no XP.
T
tioola
Lindberg:
ola
mesmo sendo pela porta LPT1 ou COM1, voce deve instalar isso sendo no WINDOWS > Generic > Texto.
isso serve para o SO ententer o codigo ASCII vai usar determinadas DLL.
a instalação vc aponta para a porta desejada.
ja tive este problema no XP.
Instalei generic text only e funcionou …!!!
Muito obrigado aos dois
L
Lindberg
é isso, vamos em frente …
M
MARKETRAW
Olá Vinny, se puder me tirar uma dúvida quanto a esse trecho?
Integer.parseInt(jsCopias.getValue().toString()
ele se refere a que?
obrigado!
V
Vinny
MARKETRAW:
Olá Vinny, se puder me tirar uma dúvida quanto a esse trecho?
Integer.parseInt(jsCopias.getValue().toString()
ele se refere a que?
obrigado!
Nessa parte do código eu peguei o valor de um campo do meu Dialog que representa o números de cópias que eu quero imprimir e o converti em Integer.
Integer.parseInt() = Converter uma String em Integeiro;
jsCopias = É o nome do meu campo com o numero de copias;
getValue() = getValue pega o valor do meu campo que no caso era JSpinner, o getValue retorna um objeto;
toString() = Transforma o objeto retornado pelo getValue() em String;
M
MARKETRAW
Oopa, agoora intendí bacana!!
Brigadão
J
juniorpaz
Vinny:
Bom primeiro uso um método que identifica as impressoras para que o usuario possa selecionar em um comboBox
E por fim, mando imprimir utilizando o método abaixo
privatevoidimprimir(){for(inti=0;i<Integer.parseInt(jsCopias.getValue().toString());i++){// Conteúdo a ser impressoInputStreamstream=newByteArrayInputStream((gerarNotaTermica()+"\u039A").getBytes());impressora=ps[boxImpressoras.getSelectedIndex()];DocPrintJobdpj=impressora.createPrintJob();// Definição de atributos do conteúdo a ser impresso:DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE;// Cria um Doc para impressão a partir do arquivo exemplo.txtDocdocumentoTexto=newSimpleDoc(stream,flavor,null);try{// Imprime o documento sem exibir uma tela de dialogodpj.print(documentoTexto,null);}catch(PrintExceptionex){Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE,null,ex);}}}
Olá Vinny.
Teria como você me explicar mais ou menos referente ao método que identifica as impressoras com um ComboBox?
Teria como identificar a impressora automaticamente?
Obrigado
P
Paezani
Pessoal to com uma impressora diebold IM433TD, igual do Tioola. Usei a classe dele e não deu certo. Nem imprimiu.
Bom depois tentei usar a classe do Vinny, mas não deu certo.
Oque pode ser? será q ue tá faltando algum jar ou configuração?
V
Vinny
Cara para agente te ajudar você precisar dar mais detalhes do que esta acontecendo.
Esta dando alguma mensagem de erro? Se estiver posta aqui o erro.
Você esta conseguindo localizar a impressora? Mesmo sendo em outros programas como o Word.
Caso a impressora não esteja instalada no Sistema faça o que o nosso amigo Lindberg disse, isso pode funcionar para você assim como funcionou para o tioola.
Abraço
P
Paezani
Consegui imprimir a classe executando pelo eclipse 3.1.
Tem alguma classe que eu consiga imprimir nesta impressora por uma servlet?
Fico no aguardo
P
pcesar2013
Olá, desculpe re-abrir o tópico, tenho uma impressora térmica não-fiscal EngWorks conectada usando um adaptador USB-Paralelo que foi instalada com o driver Genérico/Somente Texto no Windows 7 x64 e a bichina não imprime de jeito maneiro.
Usei o código aqui apresentado em um aplicativo Swing JDK7 no Netbeans e roda sem erros porém o documento fica na fila de impressão e não sai de lá a não ser que eu limpe a fila ou desconecte o cabo que vai atrás da impressora.
A impressora foi testada na loja e funcionou perfeitamente.
Vocês poderiam me ajudar?
Obrigado