[RESOLVIDO]Impressora Termica USB

Estou precisando imprimir em uma impressora termica USB bematech MP 4200 TH, mas não estou conseguindo fazer a impressão.
Na porte LPT1 É muito mais facil, como poderia processeder para fazer essa impressão?

Faça o seguinte.

1 - Se a impressora não estiver instalado um device, vc vai e instala uma Generic Text
2 - Compartilha ela com um nome qquer
3 - Mapeia ela mesma com o net use.

por exemplo.

se a impressora estiver local vc faz: net use lpt1: \localhost\compartilhamento /yes

ai sempre q mandar imprimir na LPT1 ele manda pra USB.

t+ e boa sorte

ja fiz isso com impressora matricial e deu certo, tenta com a termica.

Ja ouviu falar em pool de impressão?

se não, é uma tecnica usada pelo proprio SO que quando uma impressora esta indisponivel ele automanticamente envia a impressao para outra sozinho.
entao voce faz o seguinte, cria uma impressora da qual voce ja esta acostumado a usar, a sua lpt1, na epoca usava a lx300, coloca ela com pool com a sua impressora instalada, a usb, depois pega a impressora lpt1 e coloca off line, quando o seu programa mandar a impressao nela o SO se encarrega de mandar para a usb utilizando o driver dela corretamente.

comigo deu certo e esta a muitos anos usando, tenta ae e depois fala pra gente.

[]'s

Instalei os drivers e um aplicativo da bematech que cria uma porta COM8 só que não vai.
Estou tentando utilizar um método assim

public static void im() { try { StringBuffer str = new StringBuffer(); str.append("AAAAAAAAAAAAAAAAAAAAAAAA"); FileOutputStream outputFile = new FileOutputStream("COM8:"); PrintStream ps = new PrintStream(outputFile) ; ps.print(str); ps.close(); outputFile.close(); }catch(Exception ex) { ex.printStackTrace(); } }

que eu saiba isso nao funciona, faz o pool da com8 com uma impressora lpt1 que da certo.

veja isso: http://www.guj.com.br/java/226253-impressora-cupom-fiscal-direto-na-porta-lpt1

Quando criei esse esquema, eu testei com LPT1, LPT2 e COMs

t+ e boa sorte.

Então fiz da mems maneira que seu exemplo Só coloquei a porta virtual criada (a impressora não é fiscal).
O nome da porta virtual criada é “Bematech_COM8”

Vou tentar aqui e ja te falo o resultado, Obrigado!!

Vc precisa instalar a COM pra isso, primeiro INSTALA a COM …tendo a porta aberta ele manda, eu uso em impressora serial.

t+ e boa sorte

Muito Obrigado aos dois que me ajudaram , quebraram um galhão .
Consegui fazer a impressão atravez do spool como o amigo disse acima:
Foi muito simples , não imaginava que seria assim
Obrigado, tenham um ótimo dia

fico feliz que tenha conseguido.

Por favor, adicione [RESOLVIDO] no titulo para ajudar a galera!

[]'s

[quote=mauricioadl]fico feliz que tenha conseguido.

Por favor, adicione [RESOLVIDO] no titulo para ajudar a galera!

[]'s[/quote]

Pronto :smiley: muito obrigado e tenha um bom dia!

Eu estou com um problema semelhante. :?

Tenho uma impressora térmica USB não fiscal MP-4200 TH que tá dando problema com um programa.

A impressora USB está instalada e configurada na porta virtual COM3. Tentei utilizar o esquema de pool pra que as impressões fossem redirecionadas para ela.

Criei uma impressora lógica com o driver Generic Text Only na porta LPT1 (a impressora física n existe), ativei o pool e selecionei a porta COM3 da impressora USB como segunda opção e marquei a impressora Generic como offline.
As impressões destinadas a Generic deveriam ser redirecionadas para a impressora USB, certo?
Quando tento imprimir na Generic nada acontece, apenas o arquivo fica na fila de impressão da Generic e não é redirecionado para a impressora USB.

Como tu conseguiste fazer funcionar??
Pode ajudar? :wink:

estou com um problema semelhante! tenho uma impressora matricial (LX-300+) instalada pela porta UBS, nas configurações da impressora me diz que a porta que esta sendo utilizada é a USB001
quando mando imprimir, nao da erro nenhum, ele aceita, porem nao sai nada na impressora! estou a alguns dias procurando informaçoes nna internet mas nao to conseguindo, alguem ae sabe como me ajudar??? grato!

pra quem precise… BARBADA!

caso nao tenha a porta LPT1: e a impressora esteja ligada na porta USB basta ao inves de colocar LPT1: ou USB001 no parametro do metodo
basta compartilhar a impressora e ao inves de LPT1: coloque \localhost\nomeDoCompartilhamento

com isso vai imprimir :wink:

esse GUJ eh f*** sem ele nao taria aonde estou hahahahahaha

Desculpem reativar o tópico, mas meu problema é muito semelhante!
Mas infelizmente não estou conseguindo realizar a impressão, segui o exemplo do fernandopaiva para realizar um teste, minha impressora bematech está instalada na porta virtual Bematech_COM3, já fiz alguns testes mas sem sucesso, vou postar meu método para se puder alguém me dar uma luz! rsrs

        String impressora = "COM3";
      
        try {
      
            //java.io.InputStream is = new FileInputStream("/src/CuponsNaoFiscal/cupom508.txt");
      
            Scanner sc = new Scanner("teste de impressão");
            
            FileOutputStream fs = new FileOutputStream(impressora);

            PrintStream ps = new PrintStream(fs);
            
            while(sc.hasNextLine()){

                String linhas = sc.nextLine();
                ps.println(linhas);
            }
            fs.close();
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, "Erro encontrado ao imprimir comanda.");
        }

Ele retorna a exceção gerada do optionPane…desde já agradeço a todos que puderem me ajudar!

Com muito trabalho consegui…rsrs

Segui a dica do augusto340, a principio não estava dando certo, como ele informa é para passar o caminho da impressora compartilhada, desta maneira: \localhost\nomeCompartilhamento, testei desta forma mas não deu certo. Por curiosidade testei da seguinte forma e deu certo: //localhost/nomeCompartilhamento

Bom pessoal, consegui o que eu pretendia, muito obrigado pelas dicas.