Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'epson'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Categorias

Não há resultados

Categorias

  • Notes ACBrLibNFe

Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

  1. Estou com um problema na impressão do fortes, onde eu preciso imprimir um recibo no tamanho A5 (metade de uma A4), porém não estou conseguindo configurar para a impressão sair corretamente na impressora, sem o PrintDialog para o usuário. O Setup do meu TRLReport está da seguinte maneira: Tentei chamar o seguinte método para setar o tamanho/orientação do papel, mas não funciona. RLPrinter.SetPaperSize(210, 148, False, False, False); Está saindo da seguinte maneira (impressão direta, com o PrintDialog := False): enquanto deveria estar saindo da seguinte maneira (impresso configurando pelo dialog da impressora): Alguém saberia me dizer o porquê da configuração não estar funcionando? Não sei se é muito especifico, mas tentei pesquisar e não encontrei a solução em nenhum lugar.. Já tentei: inverter a largura e altura ao chamar o SetPaperSize, e também alterar o parâmetro OrientationLandscape entre True e False, mas sem êxito.. O que usei como base: https://www.devmedia.com.br/forum/definir-impressora-no-fortes-report/336699 A impressora em questão é uma Epson L3150, caso seja relevante. Se alguém souber como resolver ou pelo menos conseguir me dar um norte, eu agradeço! Obrigado desde já
  2. Ola, recentemente um cliente precisou de trocar o SAT e optou por um EPSON, que na verdade é o Gertec com a etiqueta da epson por cima. Até ai tudo bem, ativado e vinculado com sucesso, utilizando o meu PDV que foi compilado com a ultima versão do ACBr disponível no repositório, contudo ao enviar a venda, a mesma é rejeitada nos logs do SAT tenho as seguintes mensagens 20220829174045|SAT|info|Mensagem recebida do AC 20220829174045|SAT|info|Comando recebido EnviarDadosVenda (ns 447840) 20220829174045|SAT|info|Venda recebida com pipe ou campos a mais Já tentei a DLL que vem com o sat, já tentei a dll disponível para download no site do fabricante, atualizei o SB para a última versão. Com o SAT anterior funcionava, tenho o sistema em outros clientes, na mesma versão e com outros SAT's também funcionaram. Alguma sugestão do que pode estar errado?
  3. Olá, Acabamos de enviar para o SVN do ACBr, no commit 22076 um importante ajuste, para o componente ACBrPosPrinter conseguir identificar corretamente, todas as impressoras EPSON de Bobina. Após a atualização dos fontes do ACBr, toda a Linha de impressoras da EPSON, que utilizam Esc/Pos, podem ser identificadas e acessadas pelo ACBr, simplesmente configurando a Porta com a string: 'USB'. Explicando um pouco mais... As impressoras da linha de Ponto de Venda, da EPSON, podem ser configuradas em modos PrinterClass, e VendorClass Este vídeo da EPSON, fala um pouco mais sobre os Modos PrinterClass e VendorClass Antes, se usássemos a sintaxe de Porta = 'USB', o ACBr somente conseguia encontrar as impressoras da EPSON, se elas estivessem configuradas no modo PrinterClass... mas agora também conseguimos encontrar e acessar as impressoras EPSON em modo VendorClass Portanto, todas as Impressoras das fotos abaixo, são acessíveis, apenas usando: ACBrPosPrinter.Porta := 'USB'; Acessando a Impressora diretamente pela USB, o ACBrPosPrinter também conseguirá, ler status e informações da impressora... Impressoras das Fotos, da Esquerda para a Direita: TM-H6000IV, TM-88V, TM-L90, TM-T20 e TM-T20X
  4. Prezado parceiro desenvolvdor, Nesse post eu gostaria de compartilhar uma informação muito relevante para você. As nossas impressoras térmicas possuem uma porta USB (nativa) e por essa razão a velocidade e estabilidade na hora de fazer comunicação com as nossas impressoras muitas vezes é melhor do que com outras impressoras de mercado. Eu afirmo isso porque trabalhei anos dando suporte e o fato de ficar tendo que instalar emuladores de porta serial e/ou simulares, além de darem trabalho, acabam gerando gargalos na comunicação com a impressora e também muitas das vezes causam erros e travamentos. Concluo dizendo, que se você quer ter menos trabalho na hora de inslatar uma impressora com seu sistema e menos trabalho ainda na hora de dar suporte, opte por uma Epson que com toda certeza você não irá se arrepender. Um abraço!
  5. Olá parceiros, No post de hoje eu vou compartilhar com vocês como fazer para localizar um Centro de Serviço Autorizado da Epson? Acesse: epson.com.br Clique na lupa (busca) que fica no canto superior direito Digite o produto que você precisa levar na autorizada, exemplo: SAT-A10. Repare que no centro da tela irá aparecer o resultado da sua busca, clique em Suporte Na tela segunte você irá clicar em CENTROS DE SERVIÇO. Por último digite o CEP ou a Cidade que deseja encontrar a Autorizada e em Buscar Pronto, todas as Autorizadas proximas ao CEP ou da Cidade informada serão localizadas Esse foi o post de hoje, espero que seja útil para você o seu cliente, até a próxima. Um forte abraço!
  6. Olá parceiros, Nesse post eu irei compartilhar com vocês algumas informações muito importantes sobre a garantia dos nossos produtos de automação. A garantia que estiver no manual do proprietário será válida para o produto inteiro e isso incluia a cabeça térmica e a guilhotina. A TM-T20X possui 3 anos de garantia. O SAT-10 possui 3 anos de garantia. A TM-T88V possui 4 anos de garantia. Ou seja, se considerarem as informações acima, nós possuimos a garantia mais completa do mercado. Além disso, o nosso indice de falhas é muito baixo, cerca de apenas 0,03% das nossas impressoras térmicas apresentam defeito. Pelos motivos acima, nao deixe de considerar os nossos produtos de automação, pois eles garantem maior rentabilidade devido a sua alta resistencia e baixo indice de falhas. Um abraço e até o proximo post
  7. Olá pessoal, Vocês sabiam que é possível comunicar-se com as nossas impressoas através de uma porta serial virtual? Essa é a necessidade de alguns do mercado, por isso que eu venho compartilhar com vocês como fazer esse tipo de comunicação com as nossas impressoas, vamos lá? 1) Acesse e baixe o TMVirtualPortDriver através do link a seguir: https://epson.com.br/peps-drivers-apis-impressoras-nao-fiscais Observação: se no momento em que você estiver realizando esse procedimento a versão do executável for superior a 860a, não se preocupe, pois isso pocerá ocorrer. 2) Inicie a instalação através do arquivo baixado: 3) Escolha o idioma e clique em OK: 4) Marque I accept e clique em Next: 5)Clique em Install: 6)Aguarde a instalação terminar: 7)Clique em Finish: 8 )Pronto, agora a janela com as portas virtuais mapeadas deverá aparecer automaticamente para você, conforme abaixo: Esse foi o post de hoje, caso você tenha tentado e não conseguiu instalar e/ou configurar/comunicar com o dispositivo, nos acione através de um dos nossos canais de suporte que iremos ajudá-lo. Um forte abraço e até o próximo post!
  8. Olá pessoal, tudo bem com vocês? Nesse post eu gostaria de compartilhar com vocês, como fazer para utilizar duas impressoras Epson no mesmo computador. Imagine um cenário onde você tenha apenas uma CPU, mas tenha uma impressora no caixa e outra na cozinha. Nesse caso como seria possível uitilizar a InterfaceEpsonNf para comunicar com ambas? Independentemente da interface da impressora, basta que você utilize a função para iniciar a comunicação, se cumunicar com a impressora e na sequencia usar a função para fechar a porta. Dessa maneira a InterfaceEpsonNf ira conseguir sem nenhuma dificultade interagir com ambas as impressoras. A função que você irá utilizar para iniciar é essa: Function IniciaPorta (pszPorta:Pchar):Integer; StdCall; External 'InterfaceEpsonNF.dll'; após se comunicar, você irá usar essa outra função para deixar a comunicaçao disponível para falar com a outra impressora: function FechaPorta ():Integer; StdCall; External 'InterfaceEpsonNF.dll'; DICA: faça download da InterfaceEpsonNF, descompacte o arquivo baixado e irá conhecer essas e todas as demais funções disponíveis em nossa biblioteca de alto nível, aqui esta o linnk para download: https://epson.com.br/peps-drivers-apis-impressoras-nao-fiscais Um forte abraço e até o próximo post!
  9. Olá parceiros desenvolvedores! Gostaria de compartilhar com vocês a informação de que nós temos um preço especial de impressora para você que deseja ter um em sua bancada permanentemente. Por favor, me acione caso esteja precisando de uma unidade. Um abraço!
  10. Ola parceiros! Se você estiver com dúvida em relação ao modelo de impressora térmica Epson para o ponto de venda do seu cliente, eu quero ajuda-lo. Modelo TM-T20X. Se trata de uma impressora de entrada, com uma velocidade de 200mm/s, guilhotina e duas portas de comunicação: Serial (RS-232 e USB). Indicamos esse modelo para operações no varejo em geral e principalmente onde uma garantia de 3 anos atenda a necessidade, vale comentar que a garantia inclui a cabeça de impressão e a guilhotina também. Há ainda temos um modelo da TM-T20X que tem EXCLUSIVAMENTE a porta Ethernet, para o caso de o seu cliente precisar fazer um uso compartilhado. Modelo TM-T88V. Se trata de uma impressora que faz parte da familia PREMIUM com 4 anos de garantia TOTAL (incluindo cabeça de impressão e guilhotina), ou seja, uma impressora com uma velocidade REAL de 300mm/s, guilhotina e duas portas de comunicação, porem diferentemente da TM-T20X, a TM-T88V permite a troca da segunda porta de comunicação e aqui já fica a dica. Se você entende que o seu cliente (poderá) no futuro precisar substituir a segunda interface, então não opte por esse modelo. Além disso esse modelo possuim um gabinete mais robusto o que permite uma utilização mais severa em uma operação mais crítica, como por exemplo: 24/7 em uma pista de posto de combustiveis, ou entao em uma praça de pedagio, esses sao apenas dois exemplos das inumeras operações em que essa impressora poderá ser adotada. Ai você deve estar se perguntando, em relação a programação para esses modelos o que muda? Se você estiver utilizando ACBr ou então a InterfaceEpsonNf.dll, não irá precisar se preocupar com nada, pois o componente e a dll compatibilizam esses modelos para você. Em tempo: a garantia dos produtos informada acima é contra falhas e/ou defeitos de fabricação e é balcão. Um forte abraço e até o próximo post.
  11. Pessoal, está acontecendo erro ao lançar Sangria/Suprimento no ECF: Comprovante Não-Fiscal Cancelado Na impressora Bematech me retornou o erro na tela: "Parâmetro não ASCII num em campo ASCII num". Na impressora Epson: "Erro: 0208 - Campo numérico inválido". No cupom é apresentado a mensagem "Comprovante não-fiscal cancelado." O código que estou utilizando é este: ECF.Sangria(IBQSangriaNR_VLR.AsFloat, IBQSangriaDS_NUM.AsAnsiString, 'SANGRIA', 'DINHEIRO') ECF.Suprimento(IBQSangriaNR_VLR.AsFloat, IBQSangriaDS_NUM.AsAnsiString, 'SUPRIMENTO', 'DINHEIRO')
  12. IMPRESSORA EPSON LX-300 LX300+II USB/PARALELA NOVA, "NA CAIXA ORIGINAL LACRADA - ENTREGA IMEDIATA" - COMPRAS CONFIRMADAS ATÉ AS 13H POSTAGEM NO MESMO DIA! ***LEIA ATENTAMENTE OS DETALHES DESTA OPORTUNIDADE*** CHEGA DE GASTAR DINHEIRO COM RECARGAS E NOVOS CARTUCHOS, A MELHOR IMPRESSORA MATRICIAL JÁ LANÇADA NO MERCADO ESTÁ DISPONÍVEL HOJE PARA VOCÊ POR UM PREÇO QUE O PRÓPRIO USO DA IMPRESSORA LHE RETORNA EM ECONOMIA LOGO NOS PRIMEIROS MESES DE USO. SEU SISTEMA DE IMPRESSÃO UTILIZA FITA E PAPEL CONTINUO, COMPATÍVEL COM A MAIORIA DOS SISTEMAS COMERCIAIS. POSSUI UM RENDIMENTO DE 3 MILHÕES E 100 CARACTERES, A 3 MILHÕES E 200 CARACTERES, APROXIMADAMENTE 10.000 PÁGINAS POR FITA (CUSTO MÉDIO APROXIMADO POR FITA R$11,00). BAIXO CONSUMO DE ENERGIA! IDEAL PARA IMPRESSÃO DE PEDIDOS, ORÇAMENTOS, E DEMAIS ARQUIVOS QUE DEMANDAM TEXTO. UM PRODUTO 100% CONFIÁVEL, EFICIENTE E A QUALIDADE DA MAIOR FABRICANTE DE IMPRESSORAS DO MUNDO. COM ELA É POSSÍVEL IMPRIMIR EM FORMULÁRIOS DE ATÉ 5 VIAS (ORIGINAL + 4 CÓPIAS). OFERECE CONECTIVIDADE USB, A IMPRESSORA MATRICIAL MAIS RÁPIDA DO MERCADO (ALTA VELOCIDADE DE IMPRESSÃO). BAIXO CUSTO DE MANUTENÇÃO. UM PRODUTO QUE VAI IMPACTAR POSITIVAMENTE NO COMBATE AO DESPERDÍCIO EM SEU EMPREENDIMENTO. GARANTIA DO QUE ESTAMOS ANUNCIAMOS OU O SEU DINHEIRO DE VOLTA! É EPSON É QUALIDADE GARANTIDA, NESSA VOCÊ PODE CONFIAR. Especificações Técnicas Compatibilidade: Windows 98/2000/XP/Me e NT 4.0 Linguagem das Impressoras: ESC/P, Emula IBM 2380 Plus Alimentação de Papel: Um original e quatro cópias Capacidade de Entrada do Papel: Bandeja de entrada para folhas soltas e/ou tração para formulários contínuos. Características Físicas: 36,63x27,53x15,90 cm. Nível de Ruído: 49 dB(a). Requerimentos Elétricos Voltagem: Tensão nominal - 120VCA. Freqüência: 50-60 Hz. Corrente: 1,4 / 0,7 Amp (max). Consumo: Aprox. 23 W Padrão ISO 10561 (conforme a Energy Star). Jogo de Caracteres: Duração da cabeça: 400 milhões de caracteres Largura da coluna: 10 cpi: 80 caracteres Código de Barras: EAN-13, EAN-8, Interleaved 2 de 5, UPC-A, UPC-E, Code-39, Code-128, POSTNET, Code-bar (NW-7) Painel de Controle: Fonte, Pausa, LF/FF (alimentação de linhas/formulários), Carga/ Descarga, Microajuste, Autoteste. LINK MERCADO LIVRE: https://produto.mercadolivre.com.br/MLB-1440581745-impressora-epson-lx-300ii-nova-lacrada-entrega-imediata-_JM?quantity=1&variation=50888200141
  13. Olá parceiro desenvolvedor Epson Nesse Post gostaria de compartilhar com vocês a informação de que nós temos uma ferramenta para virtualizar a porta serial RS-232 chamado TM Virtual Por Driver. Essa sigla TM remete a Thermal, ou seja, esse software é compatível com toda a nossa linha de impressoras térmicas. Esta não é uma ótima notícia para você que ainda não trabalhou com nenhum dos nossos modelos de mini impressoras térmicas e possui um Software que esta pronto mas só se comunica via serial não é mesmo? Sem mais delongas vou lhe passar onde baixar, como instalar e configurar, vamos lá! 1. Acesse e baixe o conteúdo do linnk a seguir: https://ftp.epson.com/latin/drivers/peps/tmvirtualportdriver860a.zip 2. Localize o arquivo baixado em seu computado, descompact e rode o instalador 3. Clique em Next> 4. Leia os termos antes de clicar em I accept e depois em Next> 6. Clique em Install e aguarde até que a instalação seja concluída 7. Por último clique em Finish 8. Após a instalação terminar, o Virtualizador irá abrir-se automaticamente e mostrará uma janela, com todas as portas virtuais que foram geradas. E caso tenha algum dispositivo Epson previamente instalado irá vê-lo na lista, como é o caso da imagem a seguir onde eu tinha o SAT-A10. Pronto, agora você já poderá se comunicar através da porta serial com a impressora Epson sem mexer em seu Software. É isso que eu gostaria de compartilhar com vocês da comunidade Epson nesse Post, bons testes. Um forte abraço!
  14. Prezado parceiro desenvolvedor, Você sabia que é necessário fazer a manutenção preventiva e periódica da cabeça térmica da impressora Epson para garantir o seu correto funcionamento e a sua vida útil? Nesse post quero lhe passar uma dica simples que irá ajuda-lo nessa tarefa, vamos lá: Primeiramente vamos dar uma olhada na imagem a seguir para saber onde fica localizada a cabeça térmica. Passo a passo para realizar a manutenção preventiva: 1. 1. Desligue a impressora. 2. 2. Abra a tampa da impressora. 3. 3. Retire qualquer resto de sujeira da cabeça de impressão usando um cotonete umedecido em álcool etilico ou isopropilico. 4. 4. Dependendo do tipo de papel usado, é possível que resíduos de papel grudem na superfície do rolete. Para limpá-los use um cotonete umedecido com água. 5. Pronto, agora você poderá realizar um teste e verá que a Impressão sairá como se a impressora fosse novinha. 6. Recomendamos a realização desse procedimento a cada 3 meses.
  15. Prezado parceiro, Nesse post quero compartilhar com vocês nossos canais de suporte para a comunicade de desenvolvedores Epson. Nome analista: Roberto Silva Tel.: (11)3956-6824 ou (11)9 7627-6822 E-mail: [email protected] Nome analista: Raul Santana Tel.: (11)3956-6884 ou (11)9 7135-4938 E-mail: [email protected] Um abraço!
  16. SAT CF-e Epson A-10 Vem com fonte externa Solicite um SAT A-10 Demo Receba um SAT A-10 diretamente da Epson para homologar e testar este equipamento com seu software. SOLICITAR SAT DEMO SUMÁRIO Se deseja encontrar algo específico, use os links abaixo: Vídeo da Homologação | Ambiente de testes | Características Técnicas | Downloads de Drivers e Manuais | Instalação | Configurações | Testes realizados | Considerações finais | Amostras Homologação em vídeo. Assista: Apresentação do aparelho. Download e instalação de drivers. Homologação com ACBrSAT. Ambiente Computador Notebook Lenovo ideapadS145 Sistema Operacional Windows 10 64Bit Processador Intel i5-8265U Memória 8GB USB 3.1 de 1º Geração Características Técnicas SAT Memória 2GB Versão Sw. Básico 03.00.07 Layout XML 0.07 e 0.08 Fonte Externa SIM Tipo de Conexão USB Material Gabinete Plástico Sinalização 8 LEDs Conexão de Rede 2x Ethernet (IEE 802.3) L2 Switch. Alimentação USB / Fonte Externa Dimensões 130mm x 89mmx 34mm (LxCxA) Peso 280g. Drivers Windows 10 e inferiores, Linux Download de Drivers e manuais Todos os manuais, drivers e softwares utilizados pelo SAT podem ser baixados através dos links abaixo: Consulte o Manual do SAT A-10 para saber mais detalhes sobre como instalar o equipamento. Baixe o Driver USB no site do fabricante. Ele deverá detectar seu sistema operacional, e indicar o download correto automaticamente. Baixe as Bibliotecas do SAT A-10 para Windows e Linux de acordo com a sua aplicação. (Encontre também o Ativador do equipamento e Exemplos em diversas linguagens nesta página.) Acesse o Guia rápido do produto. Instalação Acompanhe abaixo a instalação de drivers e configuração de comunicação do SAT A-10. Windows 10 Após baixar o arquivo Ativador SAT-A10.exe, que seja compatível com o seu sistema operacional, você deverá instala-lo conforme orienta o Manual do SAT A-10 na página 8. Após instalado ativador, o SAT A-10 será reconhecido propriamente, uma vez que ele também instala o Driver USB, conforme mostra a imagem abaixo: Linux Realizamos teste de comunicação em ambiente Linux, mais precisamente com a distribuição Opensuse Tumbleweed v.20190810 x86_64. A .SO está disponível na seção de Downloads deste relatório. z No demo SATTeste basta indicar o diretório da biblioteca "libSatGerx64.so" e configurar o método de chamada como "satDinamico_cdecl". A imagem abaixo demonstra a configuração feita no demo e exibe a porta de comunicação reconhecida pelo linux, neste caso é ttyACM0, também demonstra que a unidade removível do SAT foi reconhecido como sdb. Lembramos que a aplicação deverá ser executada com privilégios de root. Configurações: Comunicação com o demo SATTeste O demo SATTeste é um exemplo que utiliza o componente ACBrSAT. Ele realiza todas as operações principais do SAT. Se desejar saber mais sobre o demo e aprender como Ativar o SAT pelo SATTeste, assista este vídeo gravado pelo Junior Santos: Comunicação entre ACBr e SAT A DLL disponibilizada pelo fabricante chama-se "GERSAT_x86.dll", ela está disponível para download no link mencionado, em "Download de drivers e manuais". Um ponto importante, é que a aplicação deverá ter privilégios de Administrador para executar a .dll corretamente. Nos nossos testes, a DLL não estava na pasta da aplicação, mas conseguiu comunicar-se corretamente. Em casos de problemas com a DLL, recomendamos que a mesma esteja alocada na mesma pasta da aplicação. Configurações: Dados do SAT CFe Tipo de chamada satDinamico_cdecl Nome da DLL GERSAT_x86.dlll Código de Ativação 00000000 Versão XML 0,08 Página de Código 65001 UTF8 Habilitado Configurações: Dados Emitente CNPJ 03654119000176 Insc. Estadual 000052619494 Configurações: Dados Sw. House CNPJ 16.716.114/0001-72 Assiantura Sw. House: SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT Teste de Desempenho No teste de desempenho medimos o tempo de envio até o recebimento do XML de resposta (Não é considerado o tempo de decodificação do XML pelo demo).Utilizamos o demo SATTeste para realizar este processo onde realizamos vendas com diferentes quantidade de itens, cada tipo de venda repetida 5 vezes. O último teste realizado foi com 501* itens para simular um erro, pois isso excede o máximo permitido de 500 itens. Desta forma, calculamos também o tempo médio da resposta de retorno do erro. Na tabela abaixo se encontram os resultados obtidos: Nota: O tempo medido nesse teste é computado desde o início da transmissão do XML para o SAT, até a recepção do XML de venda, gerado como resposta pelo SAT. Sendo assim, é uma medição diferente do que a Especificação Técnica do SAT preconiza, onde apenas o tempo de Geração e Assinatura do XML da venda é considerado. * Ao processar o XML de *501 itens o SAT retorna o seguinte erro:|Rejeição: Erro não identificado| Considerações O SAT A-10 da Epson é muito eficiente e de fácil instalação. Contando com uma central de downloads voltada para o desenvolvedor, fica extremante fácil de implementa-lo, independente da linguagem. A presença de uma fonte externa ajuda a previnir eventuais problemas com a falta de energização necessária para o equipamento funcionar corretamente, também acompanhando uma trava de segurança, que ajuda a garantir a integridade do equipamento, de forma que evita furtos e que o mesmo seja movido sem autorização. Sendo compatível com o layout de XML 0.08, o SAT A-10 da Epson é compatível com nossos componentes. Amostras: Cupons Emitidos:
  17. Olá parceiro desenvolvedor, em nosso último post falamos sobre a existência de uma ferramenta chamada Utility que permite fazer N configurações na impressora TM-T20X. Nesse post iremos passar as dicas de como você poderá carregar um ou mais bitmaps (logotipos) em sua impressora e assim enriquecer o leiaute dos seus cupons. 1. Start o Utility; 2. Adicione a porta de comunicação, conforme a interface de sua impressora; 3. Clique no menu Definições Básicas; a. Clique no sub-menu: Guardar Logotipo. b. Pronto, agora basta escolher o arquivo contendo a imagem que você gostaria de armazenar na impressora. c. Nesse próximo passo, será exibida uma tela com a imagem original à esquerda e como ela será carregada na impressora à direita. d. Caso queira, já poderá guardar em um arquivo para que futuramente possa enviar essa mesma imagem para essa ou outras impressoras, ou então, poderá guardar diretamente na impressora, conforme a sua escolha. Dica: antes de armazenar o logo, experimente imprimi-lo através do botão Impres. Teste, assim irá poder ter a certeza de que as configurações da imagem e o seu alinhamento estão adequados à sua necessidade. Download em: https://epson.com.br/peps-drivers-apis-impressoras-nao-fiscais Por hoje seria isso que eu gostaria de compartilhar com vocês, até a próxima dica. Um forte abraço a todos! Alexandre Vicente Pré-vendas Epson
  18. Olá parceiro desenvolvedor, estou passando por aqui para lhe deixar uma dica bem legal. Você sabia que existem alguns recursos em sua impressora térmica Epson que permitem serem configurados a partir de uma ferramenta de fácil utilização chamada Utility? Isso mesmo, o Utility lhe permite fazer uma série de configurações, como por exemplo: reduzir em até 30% o tamanho total dos seus cupons, carregar um ou mais logotipos para enriquecer o leiaute de seus cupons e muito mais. Esse é o primeiro post de uma série em que iremos publicar aqui no fórum, para lhe passar todo o passo a passo e assim você irá conseguir usufruir ao máximo todas as funcionalidades existentes nas nossas impressoras, vamos começar instalando o Utility, aguarde que em breve teremos novos posts. Faça download do Utility da TM-T20X através desse link: Utility e instale-o facilmente através do installshield. Um forte abraço à todos! Alexandre Vicente Pré-vendas Epson
  19. Olá pessoal, Introduzi no componente ACBrPosPrinter, um novo mecanismo de acesso a Impressora Agora poderemos acessar algumas impressoras, usando a Sintaxe: ACBrPosPrinter1.Porta := 'DLL:MARCA'; Onde MARCA, será o nome da Marca do Fabricante da Impressora... Até o momento, temos suporte para as marcas "ELGIN", e "EPSON" A ideia por traz dessa nova sintaxe de Porta, é permitir usar a DLL/SO do Fabricante, para Imprimir diretamente na Impressora... Ok.. o ACBrPosPrinter, já conseguia acessar impressoras Não Fiscais, pela Porta USB, usando a Sintaxe "RAW:" ACBrPosPrinter1.Porta := 'RAW:Nome da Impressora no Windows'; Mas então porque desenvolvemos essa nova forma de acesso ? A nova sintaxe "DLL:", tem algumas vantagens, em relação a sintaxe "RAW:" Não depende da instalação do Driver de Spool da Impressora.. (note porém, que em alguns casos, o Driver de Spool não pode estar instalado, pois ele bloqueia o acesso a USB) Podemos Ler Informações da Impressora (o que não é possível no modo RAW) Entretanto, como foi dito antes, dependemos de DLL exclusiva do fabricante, para o acesso a Impressora pela USB... Quais são essas DLLs ? Para onde eu devo copiá-las ? Vejamos como foi descrito no ACBrSerial-change-Log.txt Creio que isso responde as duas perguntas, correto ? Você pode encontrar as DLLs no nosso SVN, na pasta: \ACBr\DLLs\PosPrinter, ou ainda pela Web: http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/PosPrinter/ Você pode ainda baixar uma versão do Demo PosPrinterTeste, atualizada, compilado em Lazarus/FPC no link abaixo: Como funciona essa nova técnica ? Quem faz todo acesso as Portas suportadas pelo ACBr, é um subcomponente chamado ACBrDevice, e há um bom tempo, esse componente já possui uma possibilidade de Integração por Hooks O que é Hook ? https://pt.wikipedia.org/wiki/Hooking A ideia por trás dos Hooks, é instalar ganchos, em eventos, que nos permitam interceptar algumas ações e chamadas... Veja esse trecho de código FDevice.HookAtivar := PosPrinterHookAtivar; FDevice.HookDesativar := PosPrinterHookDesativar; FDevice.HookEnviaString := PosPrinterHookEnviaString; FDevice.HookLeString := PosPrinterHookLeString; Aqui instruímos o subcomponente ACBrDevice, a chamar nossos eventos, quando ele precisar "Ativar", "Desativar" uma porta e também quando ele for "EnviarString" e "LeString", de uma determinada porta... Então no interior do componente ACBrPosPrinter, implementamos os eventos indicados acima (PosPrinterHookAtivar, PosPrinterHookDesativar, etc) ... Com isso, o ACBrDevice executará um código nosso, ao invés do que ele normalmente executaria... Veja que dentro dos eventos de ativação e desativação usamos uma Classe de Hook (leia mais abaixo) procedure TACBrPosPrinter.PosPrinterHookAtivar(const APort: String; Params: String); begin if Assigned(FHook) then FHook.Open(APort); end; procedure TACBrPosPrinter.PosPrinterHookDesativar(const APort: String); begin if Assigned(FHook) then FHook.Close; end; FHook por sua vez, é uma variável interna ao ACBrPosPrinter, que contem uma Classe de Hook (TACBrPosPrinterHook), e implementa os comandos necessários, para transmitir essas ações, a DLL do fabricante... Veja o exemplo abaixo, como fica a implementação dos Hooks de Ativar e Desativar, da ELGIN... observe que chamamos métodos Externos, da DLL da Elgin, como: "PrtPortOpenW" e "PrtPortClose" procedure TElginUSBPrinter.Open(const APort: String); var errorNo: Integer; begin if Connected then Exit; inherited Open(APort); try errorNo := xPrtPortOpenW(FPrinter, WideString(fpPort)); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_OPEN, [fpPort, fpPrinterName]); except fpConnected := False; fpPort := ''; raise; end; end; procedure TElginUSBPrinter.Close; var errorNo: Integer; begin if not Connected then Exit; errorNo := xPrtPortClose(FPrinter); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_CLOSE, [fpPort, fpPrinterName]); inherited Close; end; Com isso, conseguimos usar a DLL do Fabricante, para estabelecer um túnel entre o ACBrPosPrinter e o equipamento... Como posso implementar um Hook para um novo modelo ? Os Primeiros passos, são verificar: Se o Fabricante disponibiliza uma DLL para acesso direto ao equipamento (sem depender do Spooler) Se há nessa DLL, um método que nos permita Escrever e Ler Dados da Porta USB Ou seja, não precisamos de métodos de alto nível, que façam a formatação de caracteres, ou manipulem a impressora... Pois continua sendo o ACBrPosPrinter, quem montará toda a Sintaxe de comandos a serem enviados para a Impressora, usando a linguagem Esc/Pos... e igualmente, será o ACBrPosPrinter que fará a leitura de respostas, quando for necessário... Na DLL da Elgin, temos um ótimo exemplo de método para isso... function PrtDirectIO(printer:Pointer; // Ponteiro com a Impressora instanciada por PrtPrinterCreatorW writeData:PByte; // Buffer com dados a serem enviados writeNum:integer; // Número de Bytes em "writeData" (tamanho do Buffer) readData:PByte; // Ponteiro com o Retorno a ser Lido (Buffer de saída) readNum:integer; // Numero de bytes disponíveis para escrita em "readData" (tamanho disponível no Buffer de Saída) preadedNum:PInteger // Número de bytes realmente escritos em "readData" ): Integer; cdecl; // Status de retorno E_SUCCESS = 0; Tendo isso em mãos, podemos criar uma cópia de uma das Units já existentes, como por exemplo a Unit ACBrEscPosHookElginDLL.pas, e implementar o suporte usando a nova DLL, e efetuar os ajustes referente a nova Marca
  20. A Epson está lançando a impressora térmica TM-T20X, e nos enviou as 2 novas versões (Vesão USB/Serial e Versão Ethernet) deste equipamento para homologarmos com os componentes do Projeto ACBr. Assista ao vídeo abaixo para conhecer a nova impressora: Apresentação do equipamento. Download e instalação de drivers. Rápida configuração no SATTeste e impressão. Ambiente Computador Desktop Sistema Operacional Windows 10 64Bit Processador Intel Core 2 Duo E4500 2.20GHz Memória 2GB USB 2.0 Características Técnicas da Impressora Método de impressão Impressão térmica em linhas Velocidade de impressão Aprox. 200 mm/s (Textos e gráficos) Guilhotina Corte parcial ao centro Opções de Comunicação USB 2.0 Full-speed (12 Mbps) Ethernet: 10BASE-T/100BASE-TX Serial: RS-232 Pontos por polegadas 203 × 203 dpi Caixa registradora Suporte a 2 gaveteiros Fonte de alimentação 100-240V 50/60Hz, Corrente nominal: 1.0 A Dimensões W:149 × D:192 × H:140 mm Peso Approx. 1.5 kg Código de barras UPC-A UPC-E JAN 8 (EAN 8 ) JAN 13 (EAN 13) CODE 39 ITF CODABAR (NW-7) CODE 93 CODE 128 GS1-128 GS1 DataBar (Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Limited, Expanded, Expanded Stacked. Código Bidimensional PDF417 QR CODE, MaxiCode Composite Symbology Vida útil Mecanismo de Impressão 15 milhões de linhas Cabeça térmica de impressão 100 KM Guilhotina 1,5 milhões de cortes Tempo médio antes da falha (MTBF): 360.000 horas Média de ciclos antes da falha(MCBF): 60.000.000 linhas Download de Drivers e manuais No link abaixo você encontra todos os drivers disponíveis para a nova TM-T20X. https://download.epson-biz.com/modules/pos/?page=prod&pcat=3&pid=6073 Drivers utilizados durante os testes: Driver de Spooler do Windows Bibliotecas Epson (.dll .lib e .so) Software Utilitario TM Virtual Port Driver (Emula Porta COM) Driver Linux Impressão de Autoteste O autoteste fornece as configurações atuais da impressora, e por ele também é possível alterar estas configurações. Siga os passos abaixo para realizar a impressão do Autoteste. Com a impressora desligada, mantenha pressionado o botão Avanço de Papel (manter pressionado até o início da impressão) e ligue a impressora Quando a impressora parar de imprimir, a luz Paper ficará piscando; Pressione o botão Avanço de Papel para imprimir a segunda parte do teste e finalizar; Caso queira alterar alguma configuração, no passo 2 descrito acima, pressione o botão Avanço de Papel por 1 segundo, será impresso as opções, selecione a opção que deseja pressionando o botão Avanço de Papel na quantidade de vezes requerido pela opção e em seguida o botão Avanço novamente pressionado por 1 segundo para confirmar. Interfaces de comunicação Com os dois modelos da TM-T20x, foi possível testar todos os tipos de comunicação possíveis, acompanhe na tabela abaixo quais são e como configurá-las. Tipo Configuração (Exemplo) USB/RAW RAW:EPSON TM-T20X USB/Com Emulada COM 4 USB/DLL USB:EPSON saCOM FÍSICA COM 1 Ethernet TCP:192.168.20.27:9100 Configurações de comunicação USB – Spooler do Windows Para instalar o driver em ambiente Windows, basta fazer o download de acordo com Sistema Operacional e executá-lo, ao fim da instalação, será aberto uma janela para adicionar a impressora, escolha o 1- tipo de comunicação e clique em 2- Save Settings, clique em 3- Test Print para imprimir uma página de teste . A impressora aparecerá em “Dispositivos e Impressoras”. Na imagem abaixo é possível verificar os passos descritos: USB – COM Emulada Para comunicação via COM Emulada, após a instalação como mostrado acima, faça o download e execute o instalador do TM Virtual Port Driver. Ao finalizar a instalação, execute o aplicativo Epson TM Virtual Port Assignment Tool Escolha uma porta para vincular a impressora e clique em “Assign Port” Na janela que abrirá, selecione a aba “Command Emulation” e habilite a opção “Enabled ESC/POS Command Emulation”. Selecione OK para salvar, pronto será criada uma porta com virtual e sua impressora estará vinculada a ela. USB/DLL Neste tipo de comunicação não é necessário realizar a instalação de driver, basta fazer o download da DLL e copia-lo para a pasta do componente. No demo PosPrinterTeste por exemplo basta configurar a comunicação como USB:EPSON, observe o exemplo na imagem abaixo: Serial RS-232 A comunicação com porta COM Física também não depende de instalação de driver. Veja em Cabo Serial deste relatório, o cabo correto para a comunicação. Para configurar a porta serial no componente ACBrPosPrinter realize as configurações a seguir. Selecione a Porta COM Selecione a opção de Configurações da Porta Realize os ajustes Baud rate: 38400 – Este é o padrão de fábrica desta impressora. Data Bits: 8 Parity: None Stop Bits: 1 Handshaking: DTR/DSR Buffer de Envio: 3000 Espera de Buffer: 200 Salve as configurações Os ajustes de Buffer são necessários para impressões de extratos com grande quantidades de itens, caso não configurados corretamente a impressão pode não ocorrer por completo. Ethernet A configuração da TM-T20X em rede é muito simples, conecte um cabo de rede na porta Ethernet e ligue a impressora, aguarde por aproximadamente 10 segundos, pois será impresso o IP que a impressora obteve do servidor DHCP. Para fixar um IP, abra o navegador e digite o IP impresso para acessar as configurações da impressora, será solicitado um usuário e senha, o padrão de fábrica é “epson” para ambos. No menu de configuração, selecione a opção TCP/IP. Na opção “Acquiring the IP Address” altere para “Manual” e em seguida, realize as configurações conforme sua rede. Para finalizar clique em SEND e em seguida clique em RESET, para enviar e reiniciar a impressora. Exemplo dos passos citados: No PosPrinter configure a porta de comunicação TCP com o IP fixado na impressora, EX: TCP: 192.168.20.27 Veja o exemplo de configuração na imagem abaixo: Gravação de Logo Esta impressora permite gravar múltiplos logos em sua memória, gravamos então um logo do ACBR para ser utilizado durante os testes de impressões, veja abaixo como gravar um logo utilizando o PosPrinterTeste.exe. Selecione a opção Carregar Imagem e escolha a imagem que deseja gravar (Formato BMP) Selecione a posição onde será gravado. (Os valores utilizados abaixo são um exemplo, é possível definir valores diferentes, onde cada imagem fique em uma posição.) Ex: KC1: 32 KC2: 32 Selecione a opção Gravar Logo Para verificar se gravou com sucesso, selecione IMPRIMIR Acompanhe na imagem abaixo o exemplo dos passos citados: Testes de Impressões Os testes de impressões tem como objetivo verificar se o equipamento pode imprimir todas as “Tags” possíveis. Para a realização destes testes utilizamos os componentes e demos do ACBr. Acompanhe as configurações utilizadas para a realização dos testes de impressão. Configurações utilizadas no demo PosPrinterTeste.exe para os testes de impressão das tags. Modelo: ppEscPosEpson; Porta RAW:EPSON TM-T20X Receipet Colunas: 48; Espaços: 40; Linhas Pular: 5; Pag. codigo: pc860; Logo: KC1: 32; KC2: 32; FatorX: 1; FatorY: 1; Exemplo de configuração no demo PosPrinterTeste: Resultados das impressões Formatação de carácter: Todas as propriedades funcionaram corretamente, exceto a fonte itálico (Já não era suportada na TM-T20). Alinhamento: Os alinhamentos foram impressos corretamente. QRCode: Todos QRCode impressos corretamente. Código de Barras: Os tipos std25, CODE11 e MSI não foram impressos (Mesmo comportamento da TM-T20). Logotipo: Logo impresso corretamente. Page Mode: Como podemos observar o Page Mode é suportado. Testes de Acentuação Utilizando um pantograma da língua portuguesa, realizamos diversas impressões com diferentes páginas de código, usando as fontes do Tipo A e B. Pantograma utilizado: À noite, vovô Kowalsky vê o ímã cair no pé do pingüim queixoso e vovó põe açúcar no chá de tâmaras do jabuti feliz. ÁÉÍÓÚáéíóúçÇãõÃÕÊêÂâÔôÀà Resultados obtidos: pc437: Todos os til foram ignorados; pc850: Todos os acentos foram impressos corretamente; pc852: Alguns acentos circunflexos, todas as crases e o til foram ignorados; pc860: Todos os acentos foram impressos corretamente; pcUTF8: Esta impressora não suporta UTF8; pc1252: Todos os acentos foram impressos corretamente; Impressão de extratos do SAT Utilizando o demo SATTeste, testamos a impressão de extratos de venda com 3 itens, as impressões foram realizadas em Fortes Report e em EscPOS, com as opções Logo Lateral e QRCode Lateral, desativadas e posteriormente ativadas. Tela de configuração de Impressão do SATTeste: Cupom Fortes: Cupom Esc/POS: QRCode e Logo Lateral ativados: Cupom Fortes: Cupom Esc/POS: Leitura de Status Realizamos testes de “Leitura de Status” através das conexões de porta COM Física e COM/Emulada, veja abaixo os resultados das leituras realizadas. Status Porta COM/Emulada Porta COM Física Pronta par uso Nenhum erro Encontrado Nenhum erro Encontrado Tampa Aberta StOffline, stTampaAberta StOffline, stTampaAberta Pouco Papel Nenhum erro Encontrado Nenhum erro Encontrado Sem Papel StSemPapel, stOffline StSemPapel, stOffline Gaveta Aberta stGavetaAberta stGavetaAberta Leitura de Informações O resultado do comando para Leitura de Informações, foi retornado corretamente nos três tipos de conexões testados. COM FÍSICA COM EMULADA ETHERNET Fabricante=EPSON Firmware=10.01 ESC/POS Modelo=TM-T20X Serial=X5Z7000035 Guilhotina=1 Fabricante=EPSON Firmware=10.01 ESC/POS Modelo=TM-T20X Serial=X5Z7000035 Guilhotina=1 Fabricante=EPSON Firmware=13.02 ESC/POS Modelo=TM-T20X Serial=X5Z8000018 Guilhotina=1 TAG de Gaveta Abertura de gaveta funcionou como esperado, através da conexão com RJ11. TAGS ENVIADAS: Abertura da Gaveta padrão </abre_gaveta> Abertura da Gaveta específica <abre_gaveta>1</abre_gaveta> </corte_total> Teste de Desempenho Utilizando o demo SATTeste calculamos o tempo médio que o equipamento leva para imprimir extratos de venda, é cronometrado desde que se inicia a impressão do extrato até o corte final do mesmo, incluímos também neste relatório a quantidade de papel impresso para cada quantidade de itens. ATENÇÃO: Este teste difere dos realizados anteriormente, onde era calculado o tempo de envio da impressão do componente para o equipamento e não o tempo de impressão propriamente. Configuração de impressão do SATTeste: Tipo de conexão: USB/RAW Logo Lateral: Ativo Espaços entre linhas: 40 QRCode Lateral: Ativo Linhas à pulas: 5 Colunas: 48 Logo Lateral: Ativo Espaços entre linhas: 40 QRCode Lateral: Ativo Tabela de Resultados: NOTA: Resultados em milisegundos. Em uma comparação com o modelo TM-T20, imprimindo extratos de 100 e 200 itens, é possível observar o quanto a TM-T20X é mais rápida que sua antecessora. Ambas impressoras com a configuração “Printing Speed” em Level 13 (Fast). A nova TM-T20X foi desenvolvida com foco em performance, elevando sua velocidade de impressão. Em uma comparação com sua antecessora, é possível observar que o novo modelo diminui um pouco a nitidez da impressão, o que não atrapalha a leitura do cupom, esta diferença é perceptível quando ambas são impressas em modo Default (Padrão de Fábrica), porém se este for um fator crucial para sua operação, é possível diminuir o Printing Speed para 5 com uma densidade de impressão para 7, melhorando a nitidez. Veja como realizar esta alteração seguindo as orientações descritas em Autoteste, ou altere direto pelo software Epson TM-T20X Utility. Veja abaixo a alteração da velocidade de impressão e densidade mencionadas acima, no software utilitário Epson. Considerações Esta nova impressora da Epson se diferencia nos seguintes aspectos da TM-T20. Tamanho um pouco menor Mais leve Design moderno e atualizado Velocidade de impressão Porta serial RS-232 O Painel de indicações da impressora saiu da parte superior e foi para a parte frontal, próximo ao botão power, uma vantagem nesta linha de impressoras é a característica da fonte (Bivolt) ser embutida no equipamento, não sendo necessário uma fonte externa. Sua instalação e configuração de drivers é simples em Windows ou Linux, basta apenas instalar o driver fornecido pelo fabricante. (Lembrando que a porta de comunicação pode ser escolhida de acordo com o uso aplicado ao equipamento.) A TM-T20X é compatível com o driver da TM-T20, pois em casos onde a TM-T20 já está instalada, basta trocá-la pela TM-T20X. Tanto a porta COM FÍSICA quanto a EMULADA retornaram os “Status de Impressora” corretamente, é preciso se atentar as configurações de buffer, pois extratos com grande quantidade de itens é necessário configurar o Buffer de Envio e Espera de Buffer, caso contrário a impressão não será completa. Nos testes de impressões a impressora se comportou muito bem, imprimindo várias páginas de código, formatação de carácter, alinhamento, page mode e todos os qrcodes, na impressão de código de barras seu comportamento foi semelhante ao da TM-T20 não imprimindo os tipos std25, CODE11 e MSI. Nas impressões de acentuação foi possível observar que a impressora não suporta UTF8. Analisando os testes de velocidade de impressão, podemos ver que este equipamento se sai muito bem neste quesito levando apenas 4 segundos para imprimir um cupom de 200 itens, diferença de quase 1s se comparada com o modelo TM-T20, é importante também se atentar a quantidade de papel gasto em cada teste aplicado. A impressora TM-T20X será comercializada em 2 modelos, com conexões USB/Serial e outra versão somente Ethernet. Porém a Versão com USB/Serial só contém o cabo USB, o cabo serial não acompanha o equipamento. Outras especificações Fontes de impressão: Fonte A: 12 pts. x 24 pts. | Fonte B: 9 pts. x 17 pts. (largura x altura) Capacidade de colunas: Padrão: largura do papel 80 mm: Fonte A: 48 colunas | Fonte B: 64 colunas; Modo de 42 colunas: largura do papel 80 mm: Fonte A: 42 colunas | Fonte B: 60 colunas Tamanho dos caracteres: Fonte A: 1,25 mm x 3 mm | Fonte B: 1,88 mm x 2,13 mm (largura x altura) Conjunto de caracteres: 95 alfanumérico, 18 conjuntos de caracteres internacionais, 128 x 43 gráficos estendidos. Instalação Linux Testamos também a impressora em ambiente Linux OpenSuse Tumbleweed versão 20190810. Veja abaixo como configurar a impressora neste ambiente: 1- Abra um terminal e digite o comando a seguir: dmesg –follow 2- Conecte a impressora ao computador. É possível observar como será reconhecida a impressora, em nosso exemplo foi reconhecida como “usblp0” 3- Verifique no diretório dev se foi criado o arquivo de comunicação com a impressora. ls /dev/usb/ 4- Para testar envie um teste direcionando para a porta criada. echo “Teste de Impressão Projeto ACBr” > dev/usb/lp0 5- Basta configurar a porta /dev/usb/lp0 no componente. Veja na imagem abaixo o comandos citados acima: Anexos Cabo Serial Para quem deseja utilizar comunicação serial, segue esquema de pinagem para compra ou confecção do cabo, observe que as duas pontas são fêmeas.
  21. Bom dia pessoal Estou usando o ACBrMonitor para a emissão de nfe/nfce e a alguns dias recebi a critério de testes o sat da Epson modelo A10, e gostaria de saber se o mesmo é compatível com o ACBr, ou ainda quais os passos para configurá-lo no monitor, pois em minhas tentativas não obtive sucesso. Observei também dentro da pasta do monitor as pastas: DIMEP, Emulador, Kryptus, Sweda e Tanca, seriam somente estes que o ACBr é compatível? Segue a foto dele, mas o que recebi é amarelo ovo, creio que em virtude do mesmo ser para testes
  22. Boa tarde pessoal! Estou tentando usar a impressao da NFCe como o PosPrinter usando a forma "USB:EPSON", mas sempre que ativar aparece a seguinte mensagem de erro "Marca EPSON, não tem suporte em modo USB". Estou usando a seguinte configuração: ACBrPosPrinter1.Modelo := ppEscPosEpson; ACBrPosPrinter1.Device.Porta := 'USB:EPSON'; ACBrPosPrinter1.Ativar; A Dll InterfaceEpsonNF.dll ja a copiei para pasta o meu executavel, mesmo assim a exceção acontece. Alguem ja passou por isso? Grato... Rennes.
  23. O que é o ACBrPosPrinter e Esc/Pos ? Para quem ainda não conhece, o ACBrPosPrinter é o nosso componente para acesso a Impressoras de Bobinas, Não fiscais... Essas impressoras, denominadas Impressoras POS (Point of Sale), contemplam uma linguagem de impressão de linha, interna, onde podemos realizar tarefas como: Modificar os atributos de impressão Imprimir códigos de barras 1D e 2D (QRCode) Acionar dispositivos ligados a Impressora, como Gaveta de Dinheiro, Guilhotina Ler status da Impressora (Tampa aberta, pouco ou sem papel, etc) No mercado brasileiro, há vários modelos, que contemplam várias linguagens, como por exemplo: EscPos, EscBema, EscDaruma, etc... As linguagens são chamadas de "Esc", pois os comandos geralmente iniciam com o caractere não imprimível, ESC ou #27... Exemplo: se enviarmos para a Impressora a String: chr(27) + 'E' + chr(01), ligaremos o modo Negrito A grande maioria dos fabricantes, procurou seguir o padrão Epson, que é a marca mundialmente líder nesse segmento, e a sua linguagem Epson Esc/Pos... O componente ACBrPosPrinter suporta a grande maioria das linguagens e modelos existentes no mercado brasileiro... mas nem todos os recursos, estão disponíveis em todas as linguagens... Usar o ACBrPosPrinter é extremamente simples, e não requer o conhecimento de Esc/Pos... Através de suas Tags, você pode construir ricos relatórios, com várias formatações de fontes, alinhamento, Imagens, códigos de barra e QRCode... A título de Exemplo, usamos o próprio componente ACBrPosPrinter, para criar o Extrato do SAT, Unit ACBrSATExtratoESCPOS.pas e o DANFCe, unit ACBrNFeDANFeESCPOS.pas Se você usa o ACBrMonitorPLUS, poderá acessar o ACBrPosPrinter pelo objeto ESCPOS... Veja no manual: https://acbr.sourceforge.io/ACBrMonitor/ESCPOSImprimirTags.html Você pode baixar um Demo compilado do ACBrPosPrinter em: Você pode baixar uma Apresentação sobre o ACBrPosPrinter em: Se você não programa em ObjectPascal (Delphi/Lazarus), pode baixar a biblioteca (DLL) ACBrLibPosPrinter em: https://www.projetoacbr.com.br/forum/files/category/35-acbrlibposprinter/ Sobre a Impressão de Imagens no ACBrPosPrinter A muito tempo eu sentia falta dos seguintes recursos, no componente ACBrPosPrinter Impressão de Imagens Gravação e manipulação de Logos na memória da Impressora... Agora isso já é possível... Após muita pesquisa, e com a ajuda de vários outros artigos que encontrei na Internet (veja referência nos fontes), consegui implementar a Impressão de Imagens no modo "Raster Image"... Devido a característica desses equipamentos, apenas a impressão de Imagens monocromáticas é suportada. Existem vários sites de conversão de Imagem, para BMP Monocromático, on-line, como por exemplo: https://online-converting.com/image/convert2bmp/ Novos métodos no componente ACBrPosPrinter procedure ImprimirImagemStream(ABMPStream: TStream); // Permite Imprimir uma Imagem, no formato BMP Monocromático, de um Stream procedure ImprimirImagemArquivo(ArquivoBMP: String); // Carrega e imprime uma Imagem de um Arquivo. Em aplicações visuais (não console) será usado o Objeto TPicture, que permite carregar vários formatos de Imagem, podendo ser Colorida ou em Escala de cinza. A Imagem será convertida para BMP Monocromática. Entretanto, procure sempre usar Imagens BMP Moncromáticas, para evitar processamento desnecessário procedure ImprimirImagemRasterStr(const ARasterStr: AnsiString; AWidth, AHeight: Integer); // Imprime uma Imagem a partir de uma String no formato "Raster Image" (veja abaixo) procedure ImprimirLogo(AKC1: Integer = -1; AKC2: Integer = -1; AFatorX: Integer = -1; AFatorY: Integer = -1); // Imprime um Logo préviamente gravado na memória da Impressora. Se os parâmetros não foram informados, serão usados os valores de ACBrPosPrinter.ConfigLogo procedure GravarLogoStream(ABMPStream: TStream; AKC1: Integer = -1; AKC2: Integer = -1); // Grava uma Imagem de Logo, no formato BMP Monocromático, a partir de um Stream, nas posições informadas. Se os parâmetros não foram informados, serão usados os valores de ACBrPosPrinter.ConfigLogo procedure GravarLogoArquivo(ArquivoBMP: String; AKC1: Integer = -1; AKC2: Integer = -1); // Grava uma Imagem de Logo, a partir de um arquivo em Disco, nas posições informadas. Se os parâmetros não foram informados, serão usados os valores de ACBrPosPrinter.ConfigLogo procedure ApagarLogo(AKC1: Integer = -1; AKC2: Integer = -1); // Remove um Logo da memória da Impressora. Se os parâmetros não foram informados, serão usados os valores de ACBrPosPrinter.ConfigLogo Nova Tag de Bloco <bmp> - Imprime Imagem BMP monocromática. Conteúdo pode ser: Path da Imagem, Stream em Base64 ou AscII Art (0 e 1) Veja alguns exemplos de uso: Inicializa </zera>, define o alinhamento no centro </ce>, e efetua a impressão da Imagem em disco, no Path "C:\temp\acbrmono.bmp" </zera></ce><bmp>C:\temp\acbrmono.bmp</bmp> Imprimir uma Imagem de BMP Mono, codificada em Base64 <bmp> Qk3eDQAAAAAAAD4AAAAoAAAA+gAAAG0AAAABAAEAAAAAAKANAAAAAAAAAAAAAAIAAAAAAAAAAAAAAP///wD/////////////////////////////////////////wP/////////////////////////////////////////A/////////////////////////////////////////8D/////////////////////////////////////////wP4AAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAAAD/A/AAAAAAAAAAAAAAADwD4AAAAAAAAAAAAAAAAAAAAD8D4AAAAAAAAAAAAAAAPAHwAAAAAAAAAAAAAAAAAAAAHwOAAAAAAAAAAAAAAAA8APgAAAAAAAAAgAAAAAAAAAAHAwAAAAAAAAAAAAAAADwAfAAAAAAAAAcAAAAAAAAAAAcDAAAAAAAAAAAAAAAAPAA+AAAAAAAAfgAAAAAAAAAAAwIAAAAAAAAAAAAADgAQAB8AAAAAAAH+AAAAAAAAAAABAgAAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAAAAAAAAEAAAAAADDvjnnNn489ngHw4zM+cPM/MD8w7PO4AAAAAAAAAAAAMN+e/c2fn7+/A/nzMz9x+z8wP7Hd27gAAAAAAAAAAAA/2ZnNzZ2YO7ODGxszf3ODOzAxsdx7uAAAAAAAAAAAABmZmc3Nj7gfs4cDGzN/c4MfMDO4ffu4AAAAAAAAAAAAH5mYzd2BmYOzBwObuzNzmxMwPzgdg7gAAAAAAAAAAAAfGb55+5+fHx4HAfP/Pn3zHzAzvvz7uAAAAAAAAAAAAA8AGAAAAAAAAAO4AAAAAAAAMDOAAAA4AAAAAAIAAAAADwAIAAAAAB4AA/AAAMAAAwAwPwAAA7gAAAABAgAAAAAAAAAAAAAAADwA4A+H/4AADwAAAAAAAAAAAAEDAAAAAAAAAAAAAAAAPAAAB//4AAAfAAAAAAAAAAAAAwOAAAAAAAAAAAAAAAA8AAAD/8AAAB4AAAAAAAAAAAAHA8AAAAAAAAAAAAAAADwAAAH/AAAAHAAAAAAAAAAAAA8D4AAAAAAAAAAAAAAAPAAAAPAAAAA4AAAAAAAAAAAAHwP4AAAAAAAAAAAAAAA8AAAAAAAAAHgAAAAAAAAAAAB/A/////////////////////////////////////////8D/////////////////////////////////////////wP/////////////////////////////////////////A/////////////////////////////////////////8D///////gAP///Af////gA//////+Af//4B///////wP///+AAeAB4AB4D+AAB/ADwAAAAf+B4AHgH///////A////4AA4AHgAHgfgAAB+APAAAAAH8HgAeAf//////8D////wADgAeAAeD4AAAB8A8AAAAAHweAB4B///////wP////AAPABwABw+AAAAB4DwAAAAAHx4AHgH///////A////+AA///AAPD4AAAAHwPAAAAAAPHgAeAf//////8D////4AB//8AA4eAAAAAHg8AAAAAAeeAB4B///////wP////wAH//wAHj4AAAAAeDwAAAAAB54AHgH///////A/////AAf/+AAePAAAAAA8PAAAAAADngAeAf//////8D////8AAAAAADx4AAAAAD48AAAAAAPeAB4D///////wP////wAAAAAAPHAAAAAAHjwAAAAAA94AHgP///////A/////gAAAAAA48AAP8AAOPAAP/gAB3gAeA///////8D////+AAAAAADjwAB/4AA48AA//AAH+AB4D///////wP////8AAAAAAe+AAP/wADzwAD/+AAf4AHgf///////A/////wAAAAAB/4AB8PgAPPAAOf4AB/gAeB///////8D/////AAAAAAP/AAHgfAAc8AA7zgAH+AB4H///////wP////+AAAAAA/8AA8A8AP7wAD/+AAd4AHg////////A/////4AAAAAD5wADgBwH/vAAP/4AD3gAeD///////8D/////wAH/AAePAAOAHB/+8AA//AAPeAA4P///////wP/////AAf8ABw8AA4Af/8DwAD/gAA54ADg////////A/////8AB/gAPDwAHgB//APAAAAAAHngAPH///////8D/////4AH+AA8PAAeAD+AA8AAAAAA+eAAf////////wP/////gAf4ADw8AB4APgADwAAAAAHx4AB/////////A/////+AA/gAf7wAHgAwAAPAAAAAA+HgAH////////8D/////8AD8AB//AAeAAAAA8AAAAAfweAAHP///////wP/////wAHwAH/8AB4AAAADwAAAAB+B4AAAf///////A//////gAfAA8fwAHgA4AAPAAAAAB8HgAAA///////8D/////+AB4ADwPAAOAH+AA8AAAAADweAAAD///////wP/////4ADgAeA8AA4Af/gDwAAAAAHh4AAAP///////A//////wAMAB4BwADgB//+PAAP/AAPHgAgAf//////8D//////AAwAHAHAAPAHP/+8AA/+AA8eACAB///////wP/////+ADAA8AcAAfx8A/7wAD/4ADx4AMAD///////A//////4AEADgB4AB//gAPPAAODgAHHgA4AP//////8D//////gAQAOAHgAD/+AA88AA8+AAeeADwB///////wP//////AAAB4AOAAH/gADjwAD/4AB5////////////A//////8AAAHgA8AAP8AAOPAAP/gAHn///////////8D//////wAAA8ABwAAAAAB48AA/wAAef///////////wP//////gAADwAHgAAAAAPDwAAAAABwAAH/////////A//////+AAAOAAOAAAAAA8PAAAAAAPAAAf////////8D//////8AAB4AA+AAAAAHg8AAAAAA8AAD/////////wP//////wAAHgAB4AAAAA8DwAAAAADgAAf/////////A///////AAA8AAD4AAAAHwPAAAAAA/AAD/////////8D//////8AADwAAPgAAAA+A8AAAAAD+AAP/////////wP//////4AAPAAAfgAAAHwDwAAAAAf4AB//////////A///////gAA4AAAfgAAB+APAAAAAHzwAP/////////8D///////AAHgAAA/gAAfwA8AAAAD/PgA//////////wP/////////8AAAB////8AD//////wfAH//////////A//////////wAAAB////gAP//////88A//////////8D//////////gAAAB///4AB////////4H//////////wP//////////AAAAAP/wAAHgAAAAB//w///////////A//////////+AAAAAAHAAA8AAAAAAf/n//////////8D//////////8AAAAAAcAAHwAAAAAAB////////////wP//////////4AAAAABwAAeAAAAAAAAf///////////A///////////wAAAAAHAADwAAAAAAAA///////////8D///////////gAAAAAcAAeAAAAAAAAH///////////wP///////////AAAAABwAD4AAAAAAAA////////////A////////////AAAAAHAAeAAAAAAAAH///////////8D///////////8AAAAAeAD4AAAAAAAA////////////wP///////////4AAAAB4APAAAAAAAAH////////////A////////////4AAAAHgB4AAAAAAAB////////////8D////////////wAAAAeAPAAAAAAAAP////////////wP////////////wAAAB4B8AAAAAAAD/////////////A/////////////gAAAHgHgAAAAAAAf////////////8D/////////////AAAAOA8AAAAAAAD/////////////wP/////////////AAAA4HwAAAAAAA//////////////A//////////////AAADgeAAAAAAAP/////////////8D//////////////AAAPHwAAAAAAD//////////////wP//////////////AAA8eAAAAAAA///////////////A///////////////AADz4AAAAAAH//////////////8D///////////////AAPeAAAAAAD///////////////wP///////////////gA/4AAAAAA////////////////A////////////////wD/AAAAAA////////////////8D////////////////wH4AAAAAP////////////////wP////////////////4fAAAAAH/////////////////A//////////////////8AAAAP/////////////////8D//////////////////8AAA///////////////////wP/////////////////////////////////////////A/////////////////////////////////////////8D/////////////////////////////////////////wA== </bmp> Imprimir uma Imagem, baseado em ASCII ART Na Unit ACBrImage.pas, do pacote ACBrComum, é onde a mágica acontece... essa Unit implementa os seguintes métodos function IsPCX(S: TStream; CheckIsMono: Boolean = True): Boolean; // Retorna True se o Stream contém uma Imagem em PCX function IsBMP(S: TStream; CheckIsMono: Boolean = True): Boolean; // Retorna True se o Stream contém uma Imagem em BMP procedure RasterStrToAscII(const ARasterStr: AnsiString; AWidth: Integer; InvertImg: Boolean; AscIIArtLines: TStrings); // Converte uma String codificada em "Raster Image", para ASCII ART procedure AscIIToRasterStr(AscIIArtLines: TStrings; out AWidth: Integer; out AHeight: Integer; out ARasterStr: AnsiString); // Converte uma String codificada em ASCII ART para "Raster Image" procedure BMPMonoToRasterStr(ABMPStream: TStream; InvertImg: Boolean; out AWidth: Integer; out AHeight: Integer; out ARasterStr: AnsiString); // Converte uma Imagem no formato BMP Monocromático, gravada em um Stream, para uma String codificada em "Raster Image" procedure RasterStrToBMPMono(ARasterStr: AnsiString; AWidth: Integer; InvertImg: Boolean; ABMPStream: TStream); // Converte uma String codificada e "Raster Image", para uma Imagem no formato BMP Monocromático, gravando-a em um Stream {$IfNDef NOGUI} procedure BitmapToRasterStr(ABmpSrc: TBitmap; InvertImg: Boolean; out AWidth: Integer; out AHeight: Integer; out ARasterStr: AnsiString; LuminosityThreshold: Byte = C_LUMINOSITY_THRESHOLD); // Apenas disponível se a aplicação não for console. converte uma Imagem de um TBitMap, para uma String codificada e "Raster Image" {$EndIf} Use a força, leia os fontes Não deixe de estudar os fontes do Projeto Demo, PosPrinterTeste, na pasta: \ACBr\Exemplos\ACBrSerial\ACBrPosPrinter\Delphi Nesse projeto há vários exemplos de como Imprimir Imagens, e manipular Logotipos, usando as Tags e Métodos do componente ACBrPosPrinter O que é o modo "Raster Image" ? O Modo Raster é um fluxo de Bytes que representam os Pixels da Imagem... https://pt.wikipedia.org/wiki/Raster Exemplo: Imagine a Seguinte imagem, de 16 x 16 Pixels... Se fôssemos representá-la em ASCII ART, teríamos: 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 1010101010101010 Para transformá-la em Raster, agrupamos os Bits, em Bytes (8 bits)... portanto a primeira linha ficaria: Em Binário: 10101010 + 10101010 Em Hexa: AA + AA Em Decimal: 170 + 170 Então a String em Raster Image, da Imagem acima seria o equivalente a: #170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170+#170 Para imprimir uma String em Raster, é fundamental sabermos qual a largura em Pixels, da imagem A Epson disponibiliza utilitário, para converter imagens para o formato Raster: Epson BmpToRaster (o estudo do conteúdo do arquivo gerado por esse Utilitário, foi essencial na implementação dos métodos de ACBrImage)
  24. Introdução: Recebemos gentilmente da Epson, a impressora não fiscal TM-T88V, para testes, utilizando os exemplos do ACBr: PosPrinterTeste.exe e SATTeste.exe. Computador Desktop Sistema Operacional Windows 10 64Bit atualizado (12/02/2018) Processador Intel Core 2 Duo E4500 2.20GHz Memória 2 GB USB 2.0 Impressora TM-T88V Protocolo Epson Esc/Pos Meios de comunicação USB Serial física (DB-25) (opcional) TCP/IP (RJ45) (opcional) Impressão do Autoteste: Siga os passos abaixo: Com a impressora desligada, mantenha pressionado o botão Avanço de Papel(1) pressionado e ligue a impressora(2); Mantenha pressionado o botão Avanço de Papel(1) até começar a imprimir o Autoteste; Quando a impressora parar de imprimir, a luz Paper(3) ficará piscando; Pressione o botão Avanço de Papel(1) para imprimir a segunda parte do teste; Após a impressão, a luz Paper(3) continuará piscando. Pressione novamente para finalizar o teste: O GIF animado abaixo exemplifica o procedimento descrito acima: Instalação da TM-T88V: Drivers e tools: Link oficial: https://epson.com.br/Suporte/Ponto-de-venda/Impressoras-térmicas/Epson-TM-T88V/s/SPT_C31CA85011 Link alternativo (inglês): https://download.epson-biz.com/modules/pos/index.php?page=prod&pcat=3&pid=36 USB – Spooler do Windows: Driver: https://download.epson-biz.com/modules/pos/index.php?page=single_soft&cid=5943&pcat=3&pid=36 Para realizar a instalação siga as etapas abaixo: Ligue a impressora e conecte-a porta USB; Será exibido Outros dispositivos/TM-T88V em Gerenciador de Dispositivos: Realize o donwload e descompacte o arquivo APD_510_T20_EWM.zip; Execute o instalador APD_510_T88V.exe; Clique em Next(1) ; Caso concorde com os termos da licença do software, selecione Agree(2) e depois clique em Install(3) : Clique em Next(4) : Na tela para vincular o driver com a impressora, o modelo(5) é selecionado automaticamente pelo software; Selecione a comunicação, em nosso exemplo foi USB(6); Ao clicar em Save Settings(7), será exibido a impressora TM-T20(8) configurada; Para concluir, clique em Next(9) : Após concluir a instalação, será exibida a impressora TM-T20 em Impressoras e Scanners: USB – DLL do fabricante: DLL: https://epson.com.br/peps-drivers-apis-impressoras-nao-fiscais A Epson disponibiliza, às software houses, uma biblioteca (DLL) para comunicação bilateral com suas impressoras. Ela permite ter as mesmas vantagens da comunicação serial, sem a necessidade de uma porta serial física (COMx) ou emulada (USB/Serial). O ACBrPosPrinter tem suporte a esta biblioteca. Há um tópico que explica, com maiores detalhes, esta funcionalidade e sua implementação, e pode ser conferido neste link: Nota: Para melhor utilização da DLL com a impressora, é necessário um ajuste nos Dip-switchs, veja o final do artigo. COM Física - Esc/POS: A TM-T88V que recebemos, utiliza um conector DB25 para comunicar-se com um computador. Portanto, se faz necessário um cabo diferenciado para realizar tal tarefa. O cabo que utilizamos para realizar os testes foi este: Veja a sessão de Dip-Switches para ajustar as configurações da Serial da Impressora, se necessário. Com o utilitário da Epson, podemos configurar a velocidade de impressão da porta Serial. Para realizar tal configuração, siga os passos abaixo: Execute o utilitário como administrador: Clique em Adic. Porta(1); Selecione Série(2); Defina qual a porta COM utilizada. Em nosso exemplo utilizamos a COM1(3); Defina a velocidade para 38400 bps(4); Caso deseje, realize um Teste de comunicação(5) e depois clique em OK(6) na mensagem de sucesso; Clique em OK(7) para vincular a porta COM1 com a TM-T88V(8); Clique em OK(9) para abrir o utilitário: No utilitário, selecione a opção Comunicação I/F(10); Serão exibidos opções da porta serial. Essas opções somente serão exibidas se, a comunicação entre a impressora e o computador, for serial. Defina a velocidade para 115200 bps(11) e depois clique em Definir(12): A impressora reiniciará e o utilitário perderá a comunicação. Conosco, foi necessário desligar e religá-la novamente para efetivar as alterações. Caso deseje utilizar o utilitário novamente, refaça as etapas de 1 até 8, definindo 115200 bps na etapa 5. TCP/IP: Nota: A chave 8 do dip-switch 2 vem desligada de fábrica. Desta forma, a comunicação USB ficará ativa e a ethernet inativa. Para usar a comunicação ethernet, ligue essa chave. Ao ligá-la, o USB ficará inativa e a ethernet ativa. Para maiores detalhes, consulte a sessão Dip-switch no final deste documento. O endereço IP definido de fábrica é: 192.168.192.168. Para alterar esse endereço, é necessário configurar um computador na mesma faixa deste endereço. Em nossos testes, ligamos um cabo diretamente entre o computador e a impressora, e definimos o endereço do computador para 192.168.192.161. Para definir estas configurações, realize os passos abaixo: Clique com o botão direito no ícone de rede(1) e depois Abrir configurações de Rede e Internet(2) : Selecione a opção Ethernet(3) => Alterar opções do adaptador(4); Clique com o botão direito na placa de rede de seu computador(5) =>Propriedades(6); Selecione Protocolo IP Versão 4 (TCP/IPv4)(7) => Propriedades(8); Defina as configurações de IP(9) conforme abaixo: - IP: 192.168.192.161 - Mascara: 255.255.255.0 - Gateway: 192.168.192.1 - DNS: 8.8.8.8 Para aplicar as configurações, clique em OK(10) => OK(11): À partir deste ponto será possível acessar a TM-T88V pelo navegador web. O portal exibido, parecido com o de um roteador, permite realizar a troca do endereço IP. Para realizar tal configuração, siga os passos abaixo: No navegador web, acesse o endereço http://192.168.192.161(12); Clique em Avançado(13) => Adicionar exceção(14) => Confirmar exceção de segurança(15) : Na autenticação(16), digite: - Usuário: epson - Senha: epson Selecione IPv4 Address(17); Altere o Endereço IP e mascara(18) conforme seu ambiente. Em nossos testes, usamos: - IP:192.168.15.31 - Mascara: 255.255.255.0 - Demais configurações não alteramos; Ao clicar em Send(19), a impressora estará com o novo endereço de rede configurado: USB – COM Emulada: Driver: https://ftp.epson.com/drivers/TM-VPD_8.60a.exe A Epson disponibiliza um software que simula uma porta serial COM. Através dele, é possível enviar comandos Esc/POS e receber informações da impressora pelo porta USB. Para realizar a instalação siga as etapas abaixo: Realize o download e execute o programa TM-VPD_8.60a.exe; Siga os passos da instalação até a sua conclusão: Ao finalizar a instalação será exibida a tela para vincular a TM-T88V em uma porta serial; Para realizar a vinculação, selecione uma porta serial. Em nosso exemplo usamos a COM3(1); Clique em Assign Port(2); Na aba Assign Port(3) selecione a impressora TM-T88V(4); Selecione a aba Command Emulation(5); Habilite a opção Enabled ESC/POS Command Emulation(6) e depois clique em OK(7); A impressora EPSON(8) será vinculada com a porta que selecionamos, ou seja, COM3(1); Clique em Exit(9) para sair: No Gerenciador de dispositivos será exibida a porta adicionada, no nosso exemplo a COM3: Testes usando os componentes e Demos do ACBr: Utilizamos a versão 3.2.1 do PosPrinterTeste.exe, demo do ACBrPosPrinter, parte do projeto ACBr, para efetuar testes na impressora. A ultima versão do PosPrinterTeste.exe está disponível neste link: https://www.projetoacbr.com.br/forum/files/file/364-posprintertesteexe/ Durante os testes deixamos as configurações desta forma: Modelo: ppEscPosEpson; Porta: COM1; Colunas: 42; Espaços: 40; Linhas Pular: 5; Pag. codigo: pc860; KC1: 48; KC2: 48; FatorX: 2; FatorY: 2; Demais configurações não alteramos; Meios de comunicação utilizados: Usando o campo Porta, testamos os 5 meios de comunicação possíveis com a impressora: USB - COMxx (Emulada)– Para comunicação serial. No nosso ambiente definimos a porta serial do computador como COM3, através do software da Epson; RAW:nome da instalação da impressora (USB)– Para enviar a impressão ao Spool do Windows em modo RAW. (exemplo: RAW:TM-T88V); COMxx (Física)– Também para comunicação serial. No nosso exemplo usamos a COM1; TCP/IP – Para envios de comandos Esc/POS diretamente para a impressora usando TCP/IP. (Exemplo: TCP:192.168.15.31:9100); Biblioteca (DLL)– Também utilizada para comunicação serial. No nosso exemplo definimos USB:Epson ; Armazenar o Logotipo na impressora: A partir da revisão 16349 do SVN oficial do ACBr, foi implementada uma nova funcionalidade no componente ACBrPosPrinter, permitindo gravar e apagar o logotipo na impressora, descartando a necessidade de usar um utilitário do fabricante. Para saber mais, acesse este link: Resultado: A impressora suportou a gravar um logotipo, apagar e imprimir um logotipo existente na memória, usando comandos Esc/POS. Normal: KC1: 48 KC2: 48; FatorX: 2; FatorY: 2; Reduzido: KC1: 48 KC2: 48; FatorX: 1; FatorY: 1; Demais testes: As imagens abaixo, exemplificam a compatibilidade da impressora com o componente ACBrPosPrinter. Com algumas pequenas ressalvas, observe que o equipamento se saiu muito bem, efetuando a impressão de acordo com os comandos suportados pelo protocolo Epson Esc/Pos: Formatação de carácter: Com exceção da fonte itálico, todas as demais propriedades funcionaram perfeitamente: Alinhamento + Impressão direta de imagens: O texto e a imagem foram impressas corretamente, respeitando o alinhamento: QR Code: Todos os códigos utilizados foram impressos corretamente: Código de Barras: Os tipos std25, CODE11 e MSI não foram impressos: Leitura de Status: A impressora retornou o Status pela porta COM1, USB/Com emulada (COM3), TCP/IP e via biblioteca do fabricante: Page Mode: Funcionou conforme o esperado. Entretanto, não permite o uso de DANFCe com QRCode Lateral devido ao tamanho reduzido de colunas: 42 ao invés de 48. Campainha: Alguns modelos da TM-T88V tem campainha interna. O modelo que temos em mãos, M244A, não tem. Existe a opção de uma campainha externa, ligada na mesma conexão da gaveta de dinheiro (RJ11), porém, somente é possível usar um dos dispositivos: gaveteiro ou campainha. Teste de acentuação: Para realizarmos os testes de acentuação com diferentes páginas de código, procedemos da seguinte forma: Inserimos um pantograma da língua portuguesa, contendo todas as letras e acentos(1) usando as fontes do Tipo A e B; No cabeçalho foi colocado a tag </zera>(2) para limpar as configurações a cada teste; Foi realizada uma impressão por página de código disponível na impressora(3); Resultados: pc473: Alguns acentos circunflexos, todas as crases e o til foram ignorados; pc850: Todos os acentos foram impressos corretamente; pc852: Alguns acentos circunflexos, todas as crases e o til foram ignorados; pc860: Todos os acentos foram impressos corretamente; pc1252: Todos os acentos foram impressos corretamente; Leitura de Status: A leitura do estado da impressora é funcional através dos meios de comunicação: Serial física (COM1), rede (TCP/IP), Serial virtual (COM3) e biblioteca (DLL). Abaixo alguns status retornados pela impressora: Pronta para uso: “Nenhum Erro encontrado”; Tampa aberta: “stErroLeitura,”; *Pouco papel: “Nenhum Erro encontrado”; Sem papel: “stSemPapel, stOffLine”; Gaveta de dinheiro aberta: “stGavetaAberta, stErroLeitura,” *Nota: A leitura de pouco papel não funcionou pela biblioteca. Já entramos em contato com o fabricante para informar o problema. Impressão de extratos do SAT com SATTeste: O SATTeste é um demo do ACBrSAT, parte do projeto ACBr. Realize o download neste link: https://www.projetoacbr.com.br/forum/files/file/316-sattesteexe/ Testamos a impressão usando o Spool do Windows através do Gerador de Relatórios Fortes Report, e também usando a impressão em ESC/POS. As configurações utilizadas foram as seguintes: Fortes EscPOS Largura: 289 Topo: 0 Fundo: 0 Esquerda: 4 Direita: 0 Impressora: TM-T88V Colunas: 42 Espaço Linhas: 40 Linhas Pular: 4 Pag.codigo: pc860 Modelo: ppEscEpson Porta: COM1 Logotipo: Habilitado KC1: 48 KC2: 48 FatorX: 1 FatorY: 1 Exemplo de um cupom fiscal impresso pela TM-T88V, usando Esc/POS (Esquerda) e Fortes(Direita) : Conforme citamos, a impressora não suporta cupons com QRCode e Logotipo lateral usando Esc/POS. Neste caso, realizamos apenas o teste com Fortes Report: Teste de desempenho: Através de comandos EscPOS, realizamos a impressão de vários extratos de SAT com diversas quantidades de itens, coletando os tempos de impressão. Para medição mais precisa do tempo de impressão do equipamento nos testes envolvendo o Spooler do Windows (RAW:TM-T88V), não usamos o gerenciamento de fila de impressões do próprio serviço de Spooler, devido o uso da memória do computador para gerenciar a fila de impressões. Portanto, habilitamos a opção Imprimir diretamente na impressora na aba Avançado nas Propriedades da impressora. Desta forma, o serviço de Spooler apenas repassa a impressão diretamente para a impressora, não gerenciando a fila de impressões para o equipamento. Todas as formas de comunicação disponibilizada pela TM-T88V foram testadas: Serial Física: As configurações foram as seguintes: Modelo: ppEscEpson Porta: COM1 Colunas: 42 Espaços Linhas: 40 Linhas Pular: 5 Pag. codigo: pc860 Resultados: Nota: Verificamos que ao enviar impressões em Esc/Pos, usando extratos com 100 itens ou mais, a impressora não finaliza a impressão. Acreditamos que seja algo relacionado com ao tamanho do buffer. Porém, como a impressão é feita através da porta COM, foi possível contornar esta situação, usando uma configuração específica em ACBrPosPrinter.Device, do qual permite configurar o tamanho máximo do buffer nesta porta. ACBrPosPrinter.Device.SendBytesCount: Determina o número máximo de bytes a serem enviados pela porta. ACBrPosPrinter.Device.SendBytesInterval: Determina o número de milissegundos a aguardar, antes de enviar o próximo Buffer de dados. Para efetuar tal configuração no SATTeste, vá na aba Impressão(1), clique no ícone de configuração(2), e defina a seguinte configuração: Handshaking(3): RTS/CTS (HardFlow selecionado); Buffer de Envio(4): 3000; Espera Buffer(5): 10 USB/COM Emulada: As configurações foram as seguintes: Modelo: ppEscEpson Porta: COM3 Colunas: 42 Espaços Linhas: 40 Linhas Pular: 5 Pag. codigo: pc860 Resultados: Nota: Cupons com 300 itens ou mais travam durante a impressão. Testamos, de todas as formas que encontramos de contornar o problema, mas sem sucesso. Informamos a Epson sobre este problema. USB/Spool do Windows: As configurações foram as seguintes: Modelo: ppEscEpson Porta: RAW:TM-T88V Colunas: 42 Espaços Linhas: 40 Linhas Pular: 5 Pag. codigo: pc860 Resultados: TCP/IP: As configurações foram as seguintes: Modelo: ppEscEpson Porta: TCP:192.168.15.31 Colunas: 42 Espaços Linhas: 40 Linhas Pular: 5 Pag. codigo: pc860 Resultados: DLL do fabricante: As configurações foram as seguintes: Modelo: ppEscEpson Porta: USB:EPSON Colunas: 42 Espaços Linhas: 40 Linhas Pular: 5 Pag. codigo: pc860 Resultados: Sobre o equipamento: A TM-T88V tem um gabinete simples, resistente e bem acabado. Robustez, é a mensagem que o seu design passa ao seu observador. Os detalhes são sutis, mas fazem toda a diferença na utilização da impressora em ambientes hostis. A elevação que contorna a abertura da saída de papel, protege a entrada acidental de líquidos em seu interior. O botão liga/desliga, também protegido, evita seu acionamento acidental. Na base, há “pés” de borracha, dificultando o seu deslise. Também na base, ha orifícios para fixação em um suporte, opcional, permitindo seu uso na vertical. As conexões ficam na traseira do gabinete. São elas: USB (Padrão AB), conector de energia e, um pouco mais escondido, o conector da gaveta/campainha. Junto a estes conectores, há um orifício para adição de placas de expansão. As duas disponibilizadas pelo fabricante foram: Serial, qual utiliza um conector DB25, já citado neste documento, e Ethernet, através de uma porta RJ45 para cabos de rede. A interação com o usuário é feita pelo painel. Através de luzes indicativas, o usuário é informado se o papel acabou ou está perto de seu fim, se há algum erro e se a impressora está ligada. O botão “Feed” permite o avanço do papel e a impressão do autoteste. Logo abaixo, ha uma alavanca para acionar a tampa da baia do papel, permitindo sua troca. Sobre a utilização do equipamento: A TM-T88V se demonstrou rápida. Imprimiu o teste de QRCode na mesma velocidade da impressão de textos simples. Achamos importante dar esse destaque porque, em impressoras que não focam em velocidade, comumente ocorre uma breve pausa antes da impressão do QRCode. Ela demonstrou uma alta compatibilidade com o componente. Ela suportou várias páginas de código, formatação de carácter, alinhamento, page mode, todos os qrcodes e a maioria dos tipos de código de barras. Sobre a utilização do software de configuração da impressora: É um software com diversas opções além das relatadas neste documento. Através dele podemos: Reduzir o consumo de papel diminuindo alguns espaçamentos, corte automático do papel, densidade da impressão, velocidade da impressão, etc. Essas e outras opções ajudam a adequar a impressora com as necessidades do cliente. Sobre a comunicação com a porta COM emulada: Verificamos que a compatibilidade da impressora com a porta serial emulada foi muito baixa. Porta esta, totalmente criada por um software, aparenta ter uma terrível limitação: não consegue sincronizar os dados enviados com a impressora. Suspeitamos que, por este motivo, impressões de cupons com 300 itens ou mais, não são impressos legivelmente por completo, resultando na impressão de caracteres inválidos até o seu termino. Conforme já citamos neste documento, a Epson foi informada do problema. Ficha técnica fornecida pelo fabricante: Geral: Método de impressão: Impressão térmica de linhas Fonte de impressão: - A (configurada): 12 x 24 - B: 9 x 17 Capacidade de coluna para rolos de 80 mm: 42/56 colunas; Tamanho de caracteres fonte: - A: 1,41 mm x 3,39 mm - B: 0,99 mm x 2,40 mm Conjuntos de caracteres: 95 Alfanuméricos, 18 Internacionais, 128 x 43 gráficos (incluindo um espaço de página) - Chinês simples/tradicional, Tailandês, Japonês, Coreano Código de Barras: UPC-A/E, CODE 39/93/luir128, EAN 8/13, ITF, CODABAR, símbolos 2D: PDF417, QR - CODE, MaxiCode, Simbologia Composta, GS1-128 Impressora Interface: Interface USB incorporada + outra opção: RS-232C serial, IEEE-1284 paralela, Ethernet 10/100Base-T/TX ou uma interface Connect-It* (Pode-se usar somente uma interface de cada vez). Buffer de dados Recepção: 45 bytes ou 4KB (selecionável) Definido pelo usuário: 12 KB Macro: 2 KB Gráficos NV: 256 KB Usuário NV: 1 KB Modo de área de página: 64 K Velocidade de impressão (máx.): 300 mm/s gráficos e texto Dimensões do papel: - 79,5 ± 0,5 (largura) x 83 mm (diâmetro) - 57,5 ± 0,5 (largura) x 83 mm (diâmetro) Energia: 24 V CC ± 7% Potência consumida: Média aproximada de 1,8A Função Acionador de Gaveta: 2 Controladores Confiabilidade: - MTBF: 360.000 horas - MCBF: 70.000.000 linhas Guilhotina: 2 milhões de cortes Dimensões gerais: 145 mm x 195 mm x 148 mm (5,71” x 7,68” x 5,83”) (L x P x Alt.) Peso: 1,6 kg (3,5 lb) Cor: ECW (Branca), EDG (Cinza Escuro) Dip-Switches: Algumas configurações somente são passíveis de alteração através dos dip-switches presente na impressora. Eles permitem alterar a velocidade da porta serial física, desabilitar ou habilitar a guilhotina e a campainha, definir a densidade da impressão, etc. Um dip-switch é um componente eletrônico com várias chaves liga/desliga numeradas sequencialmente. Na TM-T88V existem dois, DSW1 (dip-switch 1) e DSW2 (dip-switch 2). O acesso a eles é feito por uma tampa na base da impressora. Contudo, na TM-T88V, esses dip-switches tem funcionalidades diferentes conforme a placa de expansão instalada. A Epson nos disponibilizou duas: Serial DB-25 (RS-232) e Ethernet (RJ45). Abaixo, descrevemos, com base no manual da impressora, o comportamento de cada chave do dip-switch conforme a placa de expansão usada: Serial DB-25 (RS-232) DIP-Switch 1 (DSW1) : Chave Função Ligada(on) Desligada Padrão de Fábrica Porta serial física 1 Recepção dados inválidos Ignorar Imprime ‘?’ Desligada Baudrate Chave 7 Chave 8 2 Capacidade do buffer 45 bytes 4kB Desligada 2400, 4800, 9600, 19200, 38400, 57600, 115200 * Ligada Ligada 3 Controle de fluxo XON/XOFF DTR/DSR Desligada 4800 Desligada Ligada 4 Bits de dados 7 bits 8 bits Desligada 9600 (padrão) Ligada Desligada 5 Verificar paridade Sim Não Desligada 19200 Desligada Desligada 6 Paridade Par (Even) Ímpar (Odd) Desligada DIP-Switch 2 (DSW2) Chave Função Ligada(on) Desligada Padrão de Fábrica Densidade de impressão 1 Controle de fluxo (condição: ocupado) Retorna buffer cheio - Retorna buffer cheio; - Retorna offline; Desligada Chave 3 Chave 4 2 Reservado (não alterar) - - Desligada Não define a densidade Ligado Ligado 5 Define quando deve ocorrer o retorno de Buffer BUSY (Só tem efeito se a chave 2 do dip-switch 1 estiver desligada): Retorna Buffer BUSY se atingir 138 bytes livre da capacidade Retorna Buffer BUSY se atingir 256 bytes livre da capacidade Desligada Normal (Padrão) Desligada Desligada 6 Reservado (não alterar) - - Desligada Médio Ligada Desligada 7 I/F pin 6 reset signal Habilitado Desabilitado Desligada Escuro Desligada Ligada 8 IF pin 25 reset signal Habilitado Desabilitado Desligada Nota: Nos testes, definimos a velocidade da porta para 115200. Para tal, foi necessário definir as chaves 7 e 8 como ligadas, e pelo software do fabricante, definir a velocidade para 115200. Essa configuração do software é explicada na sessão Instalação da TM-T88V – COM Física. Ethernet (RJ45) DIP-Switch 1 (DSW1) : Chave Função Ligada(on) Desligada Padrão de Fábrica 1 Auto line feed Sempre habilitado Sempre desabilitado Desligada 2 Capacidade do buffer 45 bytes 4kB Desligada 3 ao 8 Sem definição - - Desligada DIP-Switch 2 (DSW2) Chave Função Ligada(on) Desligada Padrão de Fábrica Densidade de impressão 1 Controle de fluxo (condição: ocupado) Retorna buffer cheio - Retorna buffer cheio; - Retorna offline; Desligada Chave 3 Chave 4 2 Reservado (não alterar) - - Desligada Não define a densidade Ligado Ligado 5 Define quando deve ocorrer o retorno de Buffer BUSY (Só tem efeito se a chave 2 do dip-switch 1 estiver desligada): Retorna Buffer BUSY se atingir 138 bytes livre da capacidade Retorna Buffer BUSY se atingir 256 bytes livre da capacidade Desligada Normal (Padrão) Desligada Desligada 6 e 7 Reservado (não alterar) - - Desligada Médio Ligada Desligada 8 Reservado (não alterar) - - Ligada Escuro Desligada Ligada Nota: Apesar do manual informar para “Não alterar”, a chave 8 do dip-switch 2 vem desligada de fábrica. Desta forma, a comunicação USB ficará ativa e a ethernet inativa. Para usar a comunicação ethernet, ligue essa chave. Ao ligá-la, o USB ficará inativa e a ethernet ativa. Biblioteca Epson: Mude a chave 1 do dip-switch 2 para ligada. Com ela desligada a biblioteca também funciona, porém a aplicação “congela” ao tentar ler o status da impressora com a tampa aberta.
  25. Olá, estou tentando imprimir códigos de barras na impressora Epson TM-T20. Segui o tutorial: https://www.oobj.com.br/bc/article/como-configurar-impressora-epson-tm-t20-para-operar-via-dll-455.html porem ainda não estou conseguindo imprimir nada na impressora. Se eu configuro como "Printer Class" até consigo imprimir, porem não consegui fazer ela imprimir códigos de barras, apenas texto puro. Utilizando o "Vender Class" não consigo imprimir nada, quando chamo os metodos da dll a mesma demora 5 segundos me retorna código 0 porem não faz nada. Segue trecho de código:
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.