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.
function ComandoTX( BufTrans: string; TamBufTrans: integer ): integer; stdcall; far; external 'MP2032.DLL'; function AcionaGuilhotina( Modo: integer ): integer; stdcall; far; external 'MP2032.DLL';
Com as funções já declaradas, passamos a executar a ComandoTX, assim:
//ACIONAMENTO DA GUILHOTINA sComando := #27 + #119; iRetorno := ComandoTX( sComando, Length( sComando );
//ACIONAMENTO DA GUILHOTINA sComando := #27 + #109; iRetorno := ComandoTX( sComando, Length( sComando );
'ACIONAMENTO DA GUILHOTINA sComando = chr(27) + chr(119) iRetorno = ComandoTX( sComando, Len( sComando )
'ACIONAMENTO DA GUILHOTINA sComando = chr(27) + chr(109) iRetorno = ComandoTX( sComando, Len( sComando )
Passamos agora a execução da AcionaGuilhotina:
//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.
'ACIONAMENTO DA GUILHOTINA iRetorno = AcionaGuilhotina(1)
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:
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: 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