Sou iniciante em Java, e estou desenvolvendo um sistema para uma instituição de caridade.
Este sistema precisa fazer o cadastro de contribuintes (o que ja consegui fazer), e imprimir um recibo (não fiscal) simples, apenas com os dados do contribuinte e o valor que ele contribuiu. Temos aqui uma impressora fiscal “Bematech MP-4000 TH”.
Busquei no site da Bematech e la tem as ‘libs’ para conexao com a impressora, adicionei as dll´s na pasta do windows (system32), adicionei o JAR (Bematech.jar) no projeto utilizando o NetBeans, e crei a classe principal utilizando o exemplo do site da Bematech.
http://partners.bematech.com.br/suporte/bemafi32/java.htm
http://www.bematech.com.br/suporte/bemafi32/index.html?configuracao.htm
Porem, como disse, sou iniciante em java e não intendi muito bem, esse codigo sempre da o mesmo retorno, não importa o que eu faça ele não muda. Se impressora esta ligada ou desligada, em uso ou não, ele sempre retorna o seguinte:
run:
Retorno Impressora MFD:
ACK: 0
ST1: 0
ST2: 0
ST3: 0
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
Lembrando que essa impressora é ligada em rede, ela não possui conexao usb. o IP dela é 192.168.1.240 e a porta: 9100
package bematech;
import bemajava.*;
public class Principal {
public static void main(String[] args)
{
int iRetorno;
bemajava.BemaInteger ACK, ST1, ST2, ST3;
ACK = new bemajava.BemaInteger();
ST1 = new bemajava.BemaInteger();
ST2 = new bemajava.BemaInteger();
ST3 = new bemajava.BemaInteger();
// Habilitando o retorno estendido da impressora MFD
iRetorno = bemajava.Bematech.HabilitaDesabilitaRetornoEstendidoMFD( "1" );
// Emitindo uma Leitura X
iRetorno = bemajava.Bematech.LeituraX();
// Pegando o retorno da impressora MFD
iRetorno = bemajava.Bematech.RetornoImpressoraMFD( ACK, ST1, ST2, ST3 );
String retorno = "ACK: " + ACK.number;
retorno += "\nST1: " + ST1.number;
retorno += "\nST2: " + ST2.number;
retorno += "\nST3: " + ST3.number;
System.out.println( "Retorno Impressora MFD: \n" + retorno );
}
}
Sera que alguem poderia me dar uma luz?
Como obter um retorno desta impressora, se esta ligada, se esta em uso, etc… Vi que ela possui estes retornos, porem não faço a minima ideia de como utiliza-los.
Desde já agradeço.
João Borges