Caso não consiga ver as imagens deste e-mail, clique aqui.

Olá escovadores de bits!
O escovando de hoje é especial, pois foi o pedido de um parceiro. Se você deseja ter algum material, envie-nos um email com seu pedido para desenvolvedores@daruma.com.br. Tenha certeza que seu pedido será atendido.
O tema de hoje é bitmap em impressoras fiscais. Vocês sabiam que é possível imprimir bitmap no cupom fiscal? Sabiam que não é preciso deixar a impressora em modo te intervenção técnica para carregar um novo bitmap? Sabiam também que o bitmap pode ser impresso no relatório gerencial? Todas essas perguntas serão respondidas neste escovando.
Para quem ainda não conhece o bitmap nas impressoras fiscais Daruma, vamos aprender já! O bitmap é uma imagem monocromática que pode ser armazenada na impressora, seu tamanho máximo é de 200x200pixels.
Exemplos de uso do bitmap
Cupom fiscal – Imprimir um bitmap para datas comemorativas, como dia dos namorados, dia das mães, dia das crianças, natal, páscoa e assim por diante. Outro exemplo é imprimir um QRCode com o site do estabelecimento comercial ou com uma promoção.
Relatório gerencial – Imprimir um bitmap com uma imagem promocional. A imagem vale um brinde ou descontos nas próximas compras.

Espero que vocês tenham tido várias ideias com o uso do bitmap no cupom fiscal e/ou relatório gerencial.
Vamos começar o escovando?

“…Como carrego o Bitmap na Impressora Fiscal Daruma? Preciso fazer intervenção técnica?”

  • É muito simples, vamos ver em seguida. Não precisa de intervenção técnica, se você ouviu isso ESQUEÇA JÁ!
    Vamos lá Escovadores de Bits!
  • Clique aqui e faça download do executável em Delphi7.
  • Extraia o pacote e rode o executável “DarumaFramework_Delphi.exe”.
  • Na tela que apareceu, escolha a opção “Impressoras Fiscal”.
    Veja o exemplo:
  • Na nova janela, procure o menu “Gaveta, Autentica e outros” -> opção “Método e CarregarBitmapPromocional_ECF_Daruma”.
  • Para inserir os parâmetros do método, preencha os campos da janela que se abriu.
    Veja o exemplo:
  • Após preencher os parâmetros “Path do bitmap” e “Índice do bitmap”, clique no botão “Enviar”.
    Importante: Você pode carregar até 5 bitmaps diferentes na impressora fiscal. Para fazer isso, basta alterar o número do índice do método acima.
    Importante: Não é necessário apagar um bitmap da impressora fiscal pois quando você fizer a carga de um novo bitmap ele irá sobrepor o atual.
  • O método será executado, você receberá um retorno em sua tela.
    Veja o exemplo:
  • Bitmap importado! Viram só como é fácil importar o bmp?!

“...Preciso carregar o bitmap antes de todos os cupons fiscais que for emitir?”

  • Não! A carga do bmp é feita uma vez só. Sendo assim você pode fazer a carga do bmp e usá-lo para o “resto da vida”. Pense que este é o caso em que você não mudará seu bmp constantemente.
  • Outro caminho de utilização do bmp é quando se deseja imprimir um bitmap diferente a cada cupom fiscal. Para fazer isso é necessário carregar o bmp “diferente” antes da impressão do cupom que será emitido, ou seja, a carga do bitmap não pode ser feita quando a ECF tiver algum documento aberto.
    Importante: Só a ECF Daruma permite que você faça a carga de 5 bmp’s diferentes.
    Importante: Não é necessário apagar um bitmap da impressora fiscal pois quando você fizer a carga de um novo bitmap ele irá sobrepor o atual.

“...Como imprimo o Bitmap no Cupom Fiscal?”

  • A impressão do cupom fiscal será “normal”, ou seja, como você já sabe e já faz hoje em sua aplicação. Porém, vamos adicionar uma linha de comando no encerramento do cupom fiscal. Esta linha fará com que o bitmap seja impresso.
  • Volte ao exemplo em Delphi7 e permaneça na tela com vários menus.
  • Abertura do cupom fiscal: Clique no menu “Cupom Fiscal” -> submenu “Abertura de Cupom Fiscal” -> “Método iCFAbrirPadrao_ECF_Daruma”.
    Veja como ficou:
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno.
  • Venda de Items: Clique no menu “Cupom Fiscal” -> submenu “Registro Item” -> “Método iCFVenderResumido_ECF_Daruma”.
    Veja o exemplo:
  • Na Janela que foi aberta, basta clicar em “Enviar” para que o item seja registrado na Impressora Fiscal. Fique a vontade para mudar os parâmetros do método, mas lembre-se que não é necessário.
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno.
  • Totalização do Cupom Fiscal: Clique no menu “Cupom Fiscal” -> submenu “Totalização do Cupom Fiscal” -> “Método iCFTotalizarCupomPadrao_ECF_Daruma”.
    Veja como ficou:
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno.
  • Pagamento do Cupom Fiscal: Clique no menu “Cupom Fiscal” -> submenu “Descrição do Meio de Pagamento” -> “Método iCFEfetuarPagamentoPadrao_ECF_Daruma”.
    Veja como ficou:
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno. -
  • Chegou a hora do Bitmap! Encerramento do Cupom Fiscal: Clique no menu “Cupom Fiscal” -> submenu “Encerramento do Cupom Fiscal” -> “Método iCFEncerrarConfigMsg_ECF_Daruma”.
    Veja o exemplo:
  • Na janela que foi aberta preencha o campo “Mensagem Promocional” com a seguinte informação: <bmp>1</bmp>
    Veja como ficou:
  • Clique no botão “Enviar” para que o método seja executado.
  • Após a execução, veja o bitmap no final de seu cupom fiscal. Curtiu?!
    Veja o exemplo:
  • Super simples de imprimir bitmap né?! Observação: Se você fizer outro cupom fiscal com bmp, não é necessário carregar de novo o bmp pois ele já está na memória da impressora fiscal.

“...Quero imprimir um bitmap diferente a cada cupom fiscal emitido. Como faço?”

  • Nós carregamos um bitmap e imprimimos um cupom fiscal. Apenas repita estes dois passos com um novo bitmap. Lembrando que podemos ter 5 bitmaps diferentes na ECF e que a nova carga não pode ser feita com um documento aberto.

“...Como imprimo o Bitmap no Relatório Gerencial?”

  • O bitmap já está importado, então vamos apenas aprender como emitir o relatório gerencial com bmp.
  • Volte no exemplo em Delphi7, na janela com vários menus.
  • Abertura de Relatório Gerencial: Clique no menu “Relatório Gerencial” -> submenu “Abertura Relatório Gerencial” -> “Método iRGAbrirPadrao_ECF_Daruma”.
    Veja como ficou:
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno.
  • Chegou a Hora do Bitmap! Impressão de texto no relatório gerencial: Clique no menu “Relatório Gerencial” -> submenu “Texto Impressão” -> “Método iRGImprimirTexto_ECF_Daruma”.
    Veja o exemplo:
  • Uma janela será aberta, preencha o campo de texto com a seguinte informação: <bmp>1</bmp>
    Veja como ficou:
  • Agora clique no botão “Enviar” para que a impressão do bitmap seja feita.
  • O método será executado e um retorno será mostrado na tela. Clique em “OK” na janela de retorno.
  • O bitmap foi impresso, agora clique no menu “Relatório Gerencial” -> submenu “Encerramento Relatório Gerencial” -> “Método iRGFechar_ECF_Daruma”.
    Veja como ficou:
  • O método foi executado, clique em “Ok” no retorno mostrado na tela.
  • O relatório gerencial com bmp foi fechado. Curtiram o bmp no gerencial? ☺
    Vejam o exemplo:

“...Social mostre como fica o desenvolvimento do bitmap no cupom fiscal e relatório gerencial?”

  • Claro! Acompanhe

Delphi

//Declarações

function eCarregarBitmapPromocional_ECF_Daruma(pszPathLogotipo:string; pszNumBitmap:string; pszOrientacao:string):Integer; StdCall; External 'DarumaFramework.dll';
function iCFAbrirPadrao_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';

function iCFVenderResumido_ECF_Daruma(pszCargaTributaria:String; pszPrecoUnitario:String; pszCodigoItem:String; pszDescricaoItem:String): Integer; StdCall; External 'DarumaFramework.dll';

function iCFTotalizarCupomPadrao_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';
function iCFEfetuarPagamentoPadrao_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';
function iCFEncerrarConfigMsg_ECF_Daruma(pszMensagem:string): Integer; StdCall; External 'DarumaFramework.dll';
function iRGAbrirPadrao_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';
function iRGImprimirTexto_ECF_Daruma(pszTexto:String): Integer; StdCall; External 'DarumaFramework.dll';
function iRGFechar_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';

//Chamada de Métodos

iRetorno := eCarregarBitmapPromocional_ECF_Daruma(‘C:\arquivo.bmp’, ‘1’, ‘000’);
iRetorno := iCFAbrirPadrao_ECF_Daruma();
iRetorno := iCFVenderResumido_ECF_Daruma(‘I1’,’0,10’,’ 7896230301146’,’Bolacha’);
iRetorno := iCFTotalizarCupomPadrao_ECF_Daruma();
iRetorno := iCFEfetuarPagamentoPadrao_ECF_Daruma();
iRetorno := iCFEncerrarConfigMsg_ECF_Daruma(‘<bmp>1</bmp>’);
iRetorno := iRGAbrirPadrao_ECF_Daruma();
iRetorno := iRGImprimirTexto_ECF_Daruma(‘<bmp>1</bmp>’);
iRetorno := iRGFechar_ECF_Daruma();

C#

//Declarações

[DllImport("DarumaFrameWork.dll")]
public static extern int eCarregarBitmapPromocional_ECF_Daruma(string pszPath, string pszIndice, string pszOrient);
[DllImport("DarumaFrameWork.dll")]
public static extern int iCFAbrirPadrao_ECF_Daruma();
[DllImport("DarumaFrameWork.dll")]
public static extern int iCFVenderResumido_ECF_Daruma(string pszCargaTributaria, string pszPrecoUnitario, string pszCodigoItem, string pszDescricaoItem);
[DllImport("DarumaFrameWork.dll")]
public static extern int iCFTotalizarCupomPadrao_ECF_Daruma();
[DllImport("DarumaFrameWork.dll")]
public static extern int iCFEfetuarPagamentoPadrao_ECF_Daruma();
[DllImport("DarumaFrameWork.dll")]
public static extern int iCFEncerrarConfigMsg_ECF_Daruma(string pszMensagem);
[DllImport("DarumaFrameWork.dll")]
public static extern int iRGAbrirPadrao_ECF_Daruma();
[DllImport("DarumaFrameWork.dll")]
public static extern int iRGImprimirTexto_ECF_Daruma(string pszTexto);
[DllImport("DarumaFrameWork.dll")]
public static extern int iRGFechar_ECF_Daruma();

//Chamada de Métodos

iRetorno = eCarregarBitmapPromocional_ECF_Daruma(“C:\arquivo.bmp”, “1”, “000”);
iRetorno = iCFAbrirPadrao_ECF_Daruma();
iRetorno = iCFVenderResumido_ECF_Daruma(“I1”,”0,10”,”7896230301146”,”Bolacha”);
iRetorno = iCFTotalizarCupomPadrao_ECF_Daruma();
iRetorno = iCFEfetuarPagamentoPadrao_ECF_Daruma();
iRetorno = iCFEncerrarConfigMsg_ECF_Daruma(“<bmp>1</bmp>”);
iRetorno = iRGAbrirPadrao_ECF_Daruma();
iRetorno = iRGImprimirTexto_ECF_Daruma(“<bmp>1</bmp>”);
iRetorno = iRGFechar_ECF_Daruma();

Visual Basic 6

//Declarações

Public Declare Function eCarregarBitmapPromocional_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszPathLogotipo As String, ByVal pszNumBitmap As String, ByVal pszOrientacao As String) As Integer
Public Declare Function iCFAbrirPadrao_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer
Public Declare Function iCFVenderResumido_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal Aliq As String, ByVal PrecoUn As String, ByVal CodItem As String, ByVal DescricaoItem As String) As Integer
Public Declare Function iCFTotalizarCupomPadrao_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer
Public Declare Function iCFEfetuarPagamentoPadrao_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer
Public Declare Function iCFEncerrarConfigMsg_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszMensagem As String) As Integer
Public Declare Function iRGAbrirPadrao_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer
Public Declare Function iRGImprimirTexto_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszTexto As String) As Integer
Public Declare Function iRGFechar_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer

//Chamada de Métodos

iRetorno = eCarregarBitmapPromocional_ECF_Daruma(“C:\arquivo.bmp”, “1”, “000”)
iRetorno = iCFAbrirPadrao_ECF_Daruma()
iRetorno = iCFVenderResumido_ECF_Daruma(“I1”,”0,10”,”7896230301146”,”Bolacha”)
iRetorno = iCFTotalizarCupomPadrao_ECF_Daruma()
iRetorno = iCFEfetuarPagamentoPadrao_ECF_Daruma()
iRetorno = iCFEncerrarConfigMsg_ECF_Daruma(“<bmp>1</bmp>”)
iRetorno = iRGAbrirPadrao_ECF_Daruma()
iRetorno = iRGImprimirTexto_ECF_Daruma(“<bmp>1</bmp>”)
iRetorno = iRGFechar_ECF_Daruma()

VB.Net

//Declarações

<DllImport("DarumaFrameWork.dll")> _
Public Shared Function eCarregarBitmapPromocional_ECF_Daruma(ByVal sPathLogotipo As String, ByVal NumBitmap As String, ByVal Orientacao As String) As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iCFAbrirPadrao_ECF_Daruma() As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iCFVenderResumido_ECF_Daruma(ByVal pszCargaTributaria As String, ByVal pszPrecoUnitario As String, ByVal pszCodigoItem As String, ByVal pszDescricaoItem As String) As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iCFTotalizarCupomPadrao_ECF_Daruma() As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iCFEfetuarPagamentoPadrao_ECF_Daruma() As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iCFEncerrarConfigMsg_ECF_Daruma(ByVal pszMensagem As String) As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iRGAbrirPadrao_ECF_Daruma() As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iRGImprimirTexto_ECF_Daruma(ByVal pszTexto As String) As Integer
End Function
<DllImport("DarumaFrameWork.dll")> _
Public Shared Function iRGFechar_ECF_Daruma() As Integer
End Function

//Chamada de Métodos

iRetorno = eCarregarBitmapPromocional_ECF_Daruma(“C:\arquivo.bmp”, “1”, “000”)
iRetorno = iCFAbrirPadrao_ECF_Daruma()
iRetorno = iCFVenderResumido_ECF_Daruma(“I1”,”0,10”,”7896230301146”,”Bolacha”)
iRetorno = iCFTotalizarCupomPadrao_ECF_Daruma()
iRetorno = iCFEfetuarPagamentoPadrao_ECF_Daruma()
iRetorno = iCFEncerrarConfigMsg_ECF_Daruma(“<bmp>1</bmp>”)
iRetorno = iRGAbrirPadrao_ECF_Daruma()
iRetorno = iRGImprimirTexto_ECF_Daruma(“<bmp>1</bmp>”)
iRetorno = iRGFechar_ECF_Daruma()

Java

//Importações

import br.com.daruma.jna.ECF;

//Chamada de Métodos

iRetorno = ECF.eCarregarBitmapPromocional(“C:\\arquivo.bmp”, “1”, “000”);
iRetorno = ECF.iCFAbrirPadrao();
iRetorno = ECF.iCFVenderResumido(“I1”,”0,10”,”7896230301146”,”Bolacha”);
iRetorno = ECF.iCFTotalizarCupomPadrao();
iRetorno = ECF.iCFEfetuarPagamentoPadrao();
iRetorno = ECF.iCFEncerrarConfigMsg(“<bmp>1</bmp>”);
iRetorno = ECF.iRGAbrirPadrao();
iRetorno = ECF.iRGImprimirTexto(“<bmp>1</bmp>”);
iRetorno = ECF.iRGFechar();

PHP

//Declarações

function eCarregarBitmapPromocional_ECF_Daruma($path, $bitmap, $orientacao){};
function iCFAbrirPadrao_ECF_Daruma(){};
function iCFVenderResumido_ECF_Daruma($cargaTributaria, $precoUnitario, $codigoItem, $descricaoItem){};
function iCFTotalizarCupomPadrao_ECF_Daruma(){};
function iCFEfetuarPagamentoPadrao_ECF_Daruma(){};
function iCFEncerrarConfigMsg_ECF_Daruma($mensagem){};
function iRGAbrirPadrao_ECF_Daruma(){};
function iRGImprimirTexto_ECF_Daruma($texto){};
function iRGFechar_ECF_Daruma(){};

//Chamada de Métodos

$iRetorno = eCarregarBitmapPromocional_ECF_Daruma(“C:\arquivo.bmp”, “1”, “000”);
$iRetorno = iCFAbrirPadrao_ECF_Daruma();
$iRetorno = iCFVenderResumido_ECF_Daruma(“I1”,”0,10”,”7896230301146”,”Bolacha”);
$iRetorno = iCFTotalizarCupomPadrao_ECF_Daruma();
$iRetorno = iCFEfetuarPagamentoPadrao_ECF_Daruma();
$iRetorno = iCFEncerrarConfigMsg_ECF_Daruma(“<bmp>1</bmp>”);
$iRetorno = iRGAbrirPadrao_ECF_Daruma();
$iRetorno = iRGImprimirTexto_ECF_Daruma(“<bmp>1</bmp>”);
$iRetorno = iRGFechar_ECF_Daruma();

Assista nosso vídeo, mostrando tudo sobre bitmap nas ECF’s Daruma:

Channel 9

Se tiver alguma dúvida e/ou dificuldade, entre em contato com a nossa equipe de suporte ao desenvolvedor.

E-mails:
daruma.desenvolvedores@daruma.com.br
ddc.suporte@daruma.com.br

suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
daruma.desenvolvedores
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade
Desenvolvedores Daruma Twitter facebook Linkedln Youtube Google+