Comando para Ignorar Faixa de Opções
Ir para o conteúdo principal
 
  • jun 27 2011

    Edição 75 - Acionando a Guilhotina na Minimpressora Não Fiscal

    Caro Partner e Desenvolvedor, Quando trabalhamos com minimpressoras térmicas é muito comum utilizamos o recurso de acionamento de guilhotina ao final da impressão dos documentos. Nesta edição de nosso Flash Tip, estaremos conhecimento um pouco sobre este recurso e como executá-lo por meios de nossa dll MP2032.dll, o Driver Spooler específico e o Driver Generic/Text Only do Windows. Os modelos de minimpressoras da Bematech que possuem este recurso são: MP-2100 TH, MP-4000 TH e os lançamentos MP-4200 TH e MP-2500 TH. Ambas possuem o mesmo comando para acionamento da guilhotina. 
    • Dll Mp2032.dll 
    Através da MP2032.dll iremos conhecer as funções utilizadas para acionar este recurso – as funções “ComandoTX” e “AcionaGuilhotina”.  Ambas as funções permitem que o corte de papel seja efetuado tanto de modo total quanto parcial. O uso delas fica a cargo do desenvolvedor que pode adequar as duas situações de forma a atender as necessidades do seu cliente.  A diferença entre as duas funções é que na primeira (ComandoTX) precisamos informar o comando de acionamento parcial ou total da guilhotina e a segunda (AcionaGuilhotina) basta informarmos o tipo do corte (parcial ou total), pois o comando já se encontra encapsulado na função.  O primeiro passo, é declarar as duas funções. Tomamos como exemplo as linguagens de programação Delphi e Visual Basic. 

    Declarações

    Delphi

    function ComandoTX( BufTrans: string; TamBufTrans: integer ): integer; stdcall; far; external 'MP2032.DLL'; function AcionaGuilhotina( Modo: integer ): integer; stdcall; far; external 'MP2032.DLL';

    Visual Basic

    Public Declare Function AcionaGuilhotina Lib "MP2032.DLL" (ByVal Modo As Integer) As Integer Public Declare Function ComandoTX Lib "MP2032.DLL" (ByVal BufTrans As String, ByVal Flag As Integer) As Integer
    Com as funções já declaradas, passamos a executar a ComandoTX, assim:

    Delphi

    Corte total

    //ACIONAMENTO DA GUILHOTINA sComando := #27 + #119; iRetorno := ComandoTX( sComando, Length( sComando );

    Corte parcial

    //ACIONAMENTO DA GUILHOTINA sComando := #27 + #109; iRetorno := ComandoTX( sComando, Length( sComando );

    Visual Basic

    Corte total

    ‘ACIONAMENTO DA GUILHOTINA sComando = chr(27) + chr(119) iRetorno = ComandoTX( sComando, Len( sComando )

    Corte parcial

    ‘ACIONAMENTO DA GUILHOTINA sComando = chr(27) + chr(109) iRetorno = ComandoTX( sComando, Len( sComando )
    Passamos agora a execução da AcionaGuilhotina:

    Delphi

    //ACIONAMENTO DA GUILHOTINA i_retorno:=AcionaGuilhotina(1);
    OBS – Este comando permite que você defina como parâmetro o tipo de corte que será executado sendo 1 para total ou 0 para parcial.
     

    Visual Basic

    ‘ACIONAMENTO DA GUILHOTINA iRetorno = AcionaGuilhotina(1)
    OBS – Este comando permite que você defina como parâmetro o tipo de corte que será executado sendo 1 para total ou 0 para parcial.
    • Driver de Spooler da Impressora
    Nos dois casos acima, o comando de acionamento da guilhotina é enviado diretamente pela dll, porém caso você não utilize a dll e trabalhe com a impressora usando seu próprio driver de spooler, o acionamento da guilhotina pode ser configurado nas propriedades deste driver. Para isso, na pasta “Impressoras e Aparelhos de Fax”, dentro do “Painel de Controle” do Windows, entre nas “Propriedades” da impressora instalada e configure o corte de papel, conforme mostra a tela: cut
    • Driver Generic/Text Only do Windows 
    Através do driver Generic/Text Only do Windows, a configuração é feita via linha de comando, sendo que para o corte de papel total o comando usado é o <1B>w. Na tela abaixo, você pode visualizar onde o comando deve ser configurado: ESCw Caso você deseje efetuar o corte parcial do papel ao final da impressora, substitua o comando <1B>w pelo comando <1B>m.  Assim, concluímos mais esta edição de nosso Flash Tip. Caso tenha dúvidas, por favor, entre em contato conosco.  Um forte abraço e até uma próxima edição.  André Luiz Schikovski Analista de Suporte ao Desenvolvedor Engenharia de Desenvolvimento – P&D – Bematech S/A  0800 644 SBSP (7277)  Email/MSN: suporte.andre@bematech.com.br Skype: suporte.andre.luiz

     

Nenhum comentário

Faça Login ou Cadastre-se para comentar

 

Copyright © 2011 Bematech S.A. Todos os direitos reservados.

Powered by Cinq Technologies