em um outro método gero um string com o conteudo a ser impresso
[code]
private String gerarNotaTermica(){
String nota = “”;
nota += “----------------------------------------”+System.getProperty (“line.separator”);
nota += “TOTAL R$152,69”
+ “Loja 1”
+ “Operador: OPERADOR”
+ “EMPRESA”
+ “----------------------------------------”+System.getProperty (“line.separator”);
return nota;
}[/code]
E por fim, mando imprimir utilizando o método abaixo
private void imprimir(){
for (int i=0; i<Integer.parseInt(jsCopias.getValue().toString()); i++){
// Conteúdo a ser impresso
InputStream stream = new ByteArrayInputStream((gerarNotaTermica() + "\u039A").getBytes());
impressora = ps[boxImpressoras.getSelectedIndex()];
DocPrintJob dpj = impressora.createPrintJob();
// Definição de atributos do conteúdo a ser impresso:
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Cria um Doc para impressão a partir do arquivo exemplo.txt
Doc documentoTexto = new SimpleDoc(stream, flavor, null);
try {
// Imprime o documento sem exibir uma tela de dialogo
dpj.print(documentoTexto, null);
} catch (PrintException ex) {
Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
em um outro método gero um string com o conteudo a ser impresso
[code]
private String gerarNotaTermica(){
String nota = “”;
nota += “----------------------------------------”+System.getProperty (“line.separator”);
nota += “TOTAL R$152,69”
+ “Loja 1”
+ “Operador: OPERADOR”
+ “EMPRESA”
+ “----------------------------------------”+System.getProperty (“line.separator”);
return nota;
}[/code]
E por fim, mando imprimir utilizando o método abaixo
[code]
private void imprimir(){
for (int i=0; i<Integer.parseInt(jsCopias.getValue().toString()); i++){
// Conteúdo a ser impresso
InputStream stream = new ByteArrayInputStream((gerarNotaTermica() + “\u039A”).getBytes());
impressora = ps[boxImpressoras.getSelectedIndex()];
DocPrintJob dpj = impressora.createPrintJob();
// Definição de atributos do conteúdo a ser impresso:
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Cria um Doc para impressão a partir do arquivo exemplo.txt
Doc documentoTexto = new SimpleDoc(stream, flavor, null);
try {
// Imprime o documento sem exibir uma tela de dialogo
dpj.print(documentoTexto, null);
} catch (PrintException ex) {
Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
[/code][/quote]
O problema é que não posso ter ela instalada, preciria enviar direto na porta LPT1
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.
[quote=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.
[/quote]
Instalei generic text only e funcionou …!!!
Muito obrigado aos dois
em um outro método gero um string com o conteudo a ser impresso
[code]
private String gerarNotaTermica(){
String nota = “”;
nota += “----------------------------------------”+System.getProperty (“line.separator”);
nota += “TOTAL R$152,69”
+ “Loja 1”
+ “Operador: OPERADOR”
+ “EMPRESA”
+ “----------------------------------------”+System.getProperty (“line.separator”);
return nota;
}[/code]
E por fim, mando imprimir utilizando o método abaixo
[code]
private void imprimir(){
for (int i=0; i<Integer.parseInt(jsCopias.getValue().toString()); i++){
// Conteúdo a ser impresso
InputStream stream = new ByteArrayInputStream((gerarNotaTermica() + “\u039A”).getBytes());
impressora = ps[boxImpressoras.getSelectedIndex()];
DocPrintJob dpj = impressora.createPrintJob();
// Definição de atributos do conteúdo a ser impresso:
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Cria um Doc para impressão a partir do arquivo exemplo.txt
Doc documentoTexto = new SimpleDoc(stream, flavor, null);
try {
// Imprime o documento sem exibir uma tela de dialogo
dpj.print(documentoTexto, null);
} catch (PrintException ex) {
Logger.getLogger(dlgVenda.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
[/code][/quote]
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
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.
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