Olá, você pode fornecer o link para download? 
Re:Bematech - Driver para Impressora Fiscal compatível com Java
42 Respostas
Saiu uma nova versão 5.3.0.0:
Pessoal, desculpe a ignorância.
Essa DLL é só para softwares escrito em Java para Windows? ou funciona tb em Linux?
Não tem o .so para Linux?
Grande coisa. O grande lançamento seria um .jar para comunicação com a impressora, sem a necessidade de .dll ou código nativo.
Olá
Seria realmente um grande lançamento mas código nativo teria que ter obrigatoriamente em algum lugar. Para isto seria necessário que a Sun embutisse um device driver dentro do javax.comm. Isto não é difícil de fazer mas a Sun brigou com a Microsoft e se recusou. É claro que o fornecimento de device drivers deve ser coisa de fabricante de equipamento. Porém se a Sun tivesse dado uma ajuda facilitaria muito as coisas.
Se no javax.comm tivesse um device driver, os fabricantes de impressoras podiam lançar jars contendo apenas os métodos pertinentes aos seus produtos.
Esta falta de device drivers para impressoras sempre dificultou muito a adoção de Java para automação comercial. E os fabricantes de impressoras no Brasil sempre acharam que as aplicações comerciais tinham que ser feitas em VB.
[]s
Luca (que já sofreu muito com impressoras e até chegou a desenvolver um device driver baseado em um que havia por aí na Internet)
Pessoal, desculpe a ignorância.
Essa DLL é só para softwares escrito em Java para Windows? ou funciona tb em Linux?
Não tem o .so para Linux?
Como o amigo acima, peço desculpas pela ignorância de desenvolvedor multiplataforma, mas isso só roda em rWindows?
Blz
giu wrote:Pessoal, desculpe a ignorância. Essa DLL é só para softwares escrito em Java para Windows? ou funciona tb em Linux? Não tem o .so para Linux?Como o amigo acima, peço desculpas pela ignorância de desenvolvedor multiplataforma, mas isso só roda em rWindows?
Arquivos .Dll não são suiportados pelo linux…no caso deveria ser uma biblioteca do linux, como o arquivo de extensão .so, como já foi comentado anteriormente.
t+
Last post: 24/10/2006 22:52:50
:?
pessoal com to um problema com conexao com minha Bematech as classes tao criadas sem erro nenhum porem quando aperto f6 para abrir o cupom ele gera esse erro no java
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d94e573, pid=3564, tid=1892
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b23 mixed mode, sharing windows-x86)
# Problematic frame:
# V [jvm.dll+0xde573]
#
# An error report file with more information is saved as:
# C:\Documents and Settings\kenshin\Meus documentos\NetBeansProjects\ViewCaixa\hs_err_pid3564.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
algueim me salvaria?
O q saiu neste log?
Interessante… a empresa onde eu trabalho trabalha tbm pra Bematch…
Isso vai facilitar a nossa vida e estimular ainda mais as aplicações comerciais…
infelizmente. não para quem usa linux.
infelizmente. não para quem usa linux.
E como faz quem soh tem linux???
infelizmente. não para quem usa linux.
E como faz quem soh tem linux???
Se mata fazendo via JAVACOMM.
[acrescentando]
Tu pode baixar o projeto FreedomERP, nele ja tem pra Bematech via COMM
A um tempinho atras postei isso aqui.
http://www.guj.com.br/posts/list/146429.java#790050
As empresas fabricantes só teria que usar o JAVACOMM assim como o amigo falou. Ou a api RXTX http://www.rxtx.org/
boa tarde pessoal.
Alguém tem idéia do preço de uma impressora como essa?
boa tarde pessoal.
Alguém tem idéia do preço de uma impressora como essa?
1k~2k Acho que ta nessa faixa, sao bem carinhas.
1k~2k Acho que ta nessa faixa, sao bem carinhas.
Breve comentário de um jogador de RPG …
OMG hasuhsauhsau ;D
Voltando ao assunto, sim é mais ou menos este o valor de impressoras fiscal
Fora o rolinho de papel que é bem caro também (ainda mais que tem que fazer alguns testes)…
Pro cliente é esse preço, pra desenvolvedores vira e mexe a Bematech faz uns preços promocionais, sai por uns 700 reais, proibida de usar em produção.
Pelo menos a Bematech ainda tem o Emulador que da pra testar de boa, mas e para as outras!!??
Opa…agora vi vantagem, como chama esse emulador? é grátis?
Emul2100 se nao me engano. baixe ele no site da bematech: http://www.bematech.com.br/suporte/dwn_fisc.asp
Sim.
Tanto a Daruma qunato a Bematech tem um suporte nota 10, mas somente a Bematech tem o emulador. Ambas as empresas apresentam manuais de integração ótimos, com todas as funções existentes na dll. Além disso, as funções das impressoras são muito parecidas (claro que algumas oferecem algumas coisas a mais - a Daruma, por exemplo, oferece uma função de criptografia RSA, nada que o Java não cuide).
pessoal com to um problema com conexao com minha Bematech as classes tao criadas sem erro nenhum porem quando aperto f6 para abrir o cupom ele gera esse erro no java# # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d94e573, pid=3564, tid=1892 # # Java VM: Java HotSpot(TM) Client VM (10.0-b23 mixed mode, sharing windows-x86) # Problematic frame: # V [jvm.dll+0xde573] # # An error report file with more information is saved as: # C:\Documents and Settings\kenshin\Meus documentos\NetBeansProjects\ViewCaixa\hs_err_pid3564.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp #algueim me salvaria?
To com o mesmo problema!! Conseguiu solucionar ?
Melhor fazer comunicação direta com a impressora, sem depender dessa DLL horrivel deles …Baixe a documentação da impressora e implemente os comandos. demora mais , mais tem controle total do que está fazendo .
Existe o Emulador da MP2100 , se for para a implementação e testes funciona perfeito e é gratuito !
Isso mesmo, você tem toda razão já que hardwares como impressoras trabalham com comunicação rs232. Não é necessário acesso nativo, já que a máquina virtual te provê a serial.
Ouuuu, se nao quiser sofrer muito mandando bit pra porta serial, pode usar o ACBrMonitor.
O projeto é interessante, e ja suporta varias impressoras e outros equipamentos de Automação Comercial, e bastaria voce implementar a interface com ele, via arquivo txt ou sockets.
Vale a pena dar uma olhada.
Sinceramente não vejo vantagem em fazer comunicação direta… A não ser que que a fabricante da impressora não forneça a biblioteca para a plataforma desejada (Só a título de informação, a Bematech possui uma versão da biblioteca de acesso para Linux).
Falaram sobre ter controle total. Pra que? Se eu quero abrir um cupom fiscal, eu só quero um comando que faça a abertura do cupom fiscal e retorne algo dizendo se houve alguma falha. De que adianta eu implementar isso manualmente tendo controle total, se no final das contas eu vou ter um cupom fiscal igualzinho?
As bibliotecas de acesso tem funções para fazer o download da MFD e gerar alguns arquivos exigidos pelo PAF-ECF. Vai implementar isso na mão pra ver que beleza, não sei nem se é possivel (acho que essa parte não é documentada)
Existe o Emulador da MP2100 , se for para a implementação e testes funciona perfeito e é gratuito !
Pois é. Mas pra testar pra homologar é mais interessante usando a impressora física mesmo, não é? Por falar em emulador, alguém nota uma lentidão extrema dele quando usado com Java?
Sinceramente não vejo vantagem em fazer comunicação direta… A não ser que que a fabricante da impressora não forneça a biblioteca para a plataforma desejada (Só a título de informação, a Bematech possui uma versão da biblioteca de acesso para Linux).Falaram sobre ter controle total. Pra que? Se eu quero abrir um cupom fiscal, eu só quero um comando que faça a abertura do cupom fiscal e retorne algo dizendo se houve alguma falha. De que adianta eu implementar isso manualmente tendo controle total, se no final das contas eu vou ter um cupom fiscal igualzinho?
As bibliotecas de acesso tem funções para fazer o download da MFD e gerar alguns arquivos exigidos pelo PAF-ECF. Vai implementar isso na mão pra ver que beleza, não sei nem se é possivel (acho que essa parte não é documentada)
É… eu concordo com você. Mas me veio uma dúvida: se eu tiver clinetes que usam Bematech, outros Daruma, outros Elgin e outros Sweda, eu teria que escrever uma implementação específica pra cada impressora (se eu não utilizar a dll fornecida pela fabricante)?
Existe o Emulador da MP2100 , se for para a implementação e testes funciona perfeito e é gratuito !
Pois é. Mas pra testar pra homologar é mais interessante usando a impressora física mesmo, não é? Por falar em emulador, alguém nota uma lentidão extrema dele quando usado com Java?
Sinceramente não vejo vantagem em fazer comunicação direta… A não ser que que a fabricante da impressora não forneça a biblioteca para a plataforma desejada (Só a título de informação, a Bematech possui uma versão da biblioteca de acesso para Linux).Falaram sobre ter controle total. Pra que? Se eu quero abrir um cupom fiscal, eu só quero um comando que faça a abertura do cupom fiscal e retorne algo dizendo se houve alguma falha. De que adianta eu implementar isso manualmente tendo controle total, se no final das contas eu vou ter um cupom fiscal igualzinho?
As bibliotecas de acesso tem funções para fazer o download da MFD e gerar alguns arquivos exigidos pelo PAF-ECF. Vai implementar isso na mão pra ver que beleza, não sei nem se é possivel (acho que essa parte não é documentada)
É… eu concordo com você. Mas me veio uma dúvida: se eu tiver clinetes que usam Bematech, outros Daruma, outros Elgin e outros Sweda, eu teria que escrever uma implementação específica pra cada impressora (se eu não utilizar a dll fornecida pela fabricante)?
Sim, com ou sem DLL tu teria que implementar um pra cada, com algumas excecoes, que se nao me engano a sweda usa a mesma dll da bematech, nao lembro ao certo, mas tem duas ou mais que usam as mesmas chamadas.
É… eu concordo com você. Mas me veio uma dúvida: se eu tiver clinetes que usam Bematech, outros Daruma, outros Elgin e outros Sweda, eu teria que escrever uma implementação específica pra cada impressora (se eu não utilizar a dll fornecida pela fabricante)?
Como já disseram, com ou sem dll vc tem que ter uma implementação específica para cada fabricante (e eventualmente você tem que dar tratamentos especificos para modelos diferentes do mesmo fabricante).
Ainda não trabalhei com Sweda, mas a Daruma é muito semelhante à Bematech. Não dá pra usar a mesma implementação nas duas, mas dá pra usar uma como base para a outra. Na verdade, até rola um processo da Bematech contra a Daruma acusando-a de ter copiado a biblioteca
É. Eu ia apontar a desvantagem de não usar as dlls fornecidas pelas fabricantes. Mas não cheguei a usar uma impressora diferente da Bematech e da Daruma, então não tenho muito o que dizer. O que eu pude perceber é que a dll essas duas fabricantes possuem praticamente as mesmas chamadas. De qualquer forma, ficaria tudo encapsulado numa classe específica… Mas seria um trabalhão implementar sem as dlls pra cada impressora fiscal.
Falando em comunicação direta, alguém já usou o JavaComm ou RXTX ?
Falando em comunicação direta, alguém já usou o JavaComm ou RXTX ?
DIEGO E BUXO…
Pessoal
boa noite,
Estou desenvolvendo um sistema de emissão de Recibo provisório de serviço na impressora fiscal bermatech MP-4000 TH FI e preciso que o cupom fiscal que é impresso seja modificado para atender as necessidades do meu cliente, porem não encontrei nenhum método que me permita modificar os dados que são impressos no cupom fiscal, exemplo: Ao invés da mensagem “CUPOM FISCAL” gostaria que imprimisse a mensagem “RECIBO PROVISORIO DE SERVIÇO”. Alguém sabe me dizer se isso é possível? Existe algum método genérico?
obrigado!
Elton Welsch
Tenho vontade de fazer sistemas para trabalhar junto com a Bematech mas tenho o seguinte problema:
Não tenho uma bematech.
Aqui na empresa já vi que alguns clientes nossos usam essa impressora mas eu não sei mexer com ela.
Assim eu teria que comprar uma bematech só para estudar?
Ou será que tem algum simulador dela virtual?
Tenho vontade de fazer sistemas para trabalhar junto com a Bematech mas tenho o seguinte problema:Não tenho uma bematech.
Aqui na empresa já vi que alguns clientes nossos usam essa impressora mas eu não sei mexer com ela.
Assim eu teria que comprar uma bematech só para estudar?
Ou será que tem algum simulador dela virtual?
http://partners.bematech.com.br/2013/02/edicao-138-novo-emulador-da-mp-4200-th-fi/
Tenho vontade de fazer sistemas para trabalhar junto com a Bematech mas tenho o seguinte problema:Não tenho uma bematech.
Aqui na empresa já vi que alguns clientes nossos usam essa impressora mas eu não sei mexer com ela.
Assim eu teria que comprar uma bematech só para estudar?
Ou será que tem algum simulador dela virtual?
http://partners.bematech.com.br/2013/02/edicao-138-novo-emulador-da-mp-4200-th-fi/
muito obrigado matheus, era exatamente isso que eu estava procurando.
Vai ajudar demais.
Valeu!!!
Vejam só o que a Bematech está lançando, em primeira mão…
Prezado parceiro,
Já está disponível em nosso site a versão 5.0.0.0 de nossa BemaFI32.dll, compatível com JAVA.
Isso mesmo! A BemaFI32.dll também é JAVA!
Com o objetivo de integrar as impressoras fiscais Bematech com aplicações de Automação Comercial, desenvolvidas na linguagem de programação Java, compatibilizamos nossa BemaFI32.dll para que seja possível acessá-la através de métodos nativos do Java, utilizando JNI (Java Native Interface).
O JNI permite que um programa escrito em Java possa utilizar bibliotecas escritas em C/C++, assemblies ou outras linguagens de programação.
Criamos uma classe chamada “Bematech.java”, onde disponibilizamos a declaração das funções da BemaFI32.dll. Esta classe está pronta e você poderá adicioná-la ao seu projeto, facilitando e auxiliando no desenvolvimento.
- Exemplo do conteúdo da classe Bematech.Java:
class Bematech
{
// Funções de Cupom Fiscal
public static native int AbreCupom( String CPF_CGC );
public static native int VendeItem( String cCodigo, String
cDescricao, String cAliquota, String cTipoQuantidade, String
cQuantidade, int iCasasDecimais, String cUnitario, String
cTipoDesconto, String cDesconto );
public static native int IniciaFechamentoCupom( String
cAcrescimoDesconto,String cTipoAcrescimoDesconto, String
cValorAcrescimoDesconto );
public static native int EfetuaFormaPagamento( String
formaPagamento, String valorFormaPagamento );
public static native int TerminaFechamentoCupom( String
cMensagem );
// Funções de Relatório Fiscal
public static native int LeituraX();
// Funções de Retorno de Informações
public static native int NumeroCupom(BemaString numeroCupom);
.
.
.
static
{
System.loadLibrary ("BemaFI32");
}
}
Importante: Para poder utilizá-la, é necessário possuir instalado o J2SDK versão 1.4 ou superior e, alem disso, as variáveis de ambiente path, classpath e java_home configuradas corretamente.
Existem mais duas classes que disponibilizamos na Bematech.Java, que são utilizadas para definir as variáveis que serão usadas como referência no retorno de informações da impressora. São elas:
class BemaInteger
{
public int number;
}
class BemaString
{
public String buffer;
}
A classe BemaInteger define o tipo de variável que será utilizada para armazenar um valor inteiro e a classe BemaString define o tipo de variável que será utilizada para armazenar uma string de caracteres (ambas retornadas pela impressora).
- Exemplo de uma função que retorna informação da impressora:
Bematech.NumeroCupom( BemaString COO )
Importante: Os nomes dos atributos (buffer e number) são reservados e não podem ser modificados.
- Exemplo de um pequeno código utlizando a classe Bematech.Java:
class ECFBematech
{
public static void main(String[] args)
{
int iRetorno;
BemaInteger ACK, ST1, ST2, ST3;
ACK = new BemaInteger();
ST1 = new BemaInteger();
ST2 = new BemaInteger();
// Emitindo uma Leitura X
iRetorno = Bematech.LeituraX();
System.out.print("Retorno: " + iRetorno);
// Pegando o retorno da impressora MFD
iRetorno = Bematech.RetornoImpressora(ACK,ST1,ST2);
String retorno = "ACK: " + ACK.number
retorno += "\nST1: " + ST1.number
retorno += "\nST2: " + ST2.number
retorno += "\nST3: " + ST3.number;
System.out.print("O retorno da impressora é:\n" + retorno);
}
}
Clique aqui e baixe agora mesmo o pacote da BemaFI32.dll com a classe Bematech.Java e o arquivo de ajuda com a declaração e todo o descritivo desta mais nova implementação da Bematech!
Opa… abaixo o link:
http://www.bematech.com.br/suporte/downloads/fisc_win/BemaFI32.zip