Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2858 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa tarde.

Estou com um cliente que tem a impressora Elgin i9. Excepcionalmente a impressora não imprime o QrCode. Se coloco outra impressora ela imprime mais a Elgin i9 não imprime. Já fiz o teste como sugerido pelo Daniel neste post: 

Mais ainda assim, não imprimiu! A impressora é USB!

Alguém tem uma sugestão?

  • 1 mês depois ...
  • Membros Pro
Postado

Boa tarde

Estou tentando fazer funcionar essa Elgin I9 mas estou em apuros aqui.

Não estou utilizando o ACBR, estou utilizando os comandos ESCPOS sengundo um manual e um exemplo baixado no Site da Elgin. Segundo o que diz o manual, deve ser instalado um dirver Windows para a impressora e posteriormente enviar os comandos ESC POS para a impressora instalada no windows por esse driver.

Até funcionou bem no windows 8.1, porém quando fui testar no windows 7, ocorre uma lentidão, uma pausa no envio de cada comando para o driver.

Entrei em contato com o suporte a desenvolvedores da Elgin, mas o serviço deles é muuuuuito ruim e demorado.. Passam semanas sem dar retorno e quando dão o retorno não tem nada a ver com a solução para o problema.

Segue abaixo um trecho dos comando sugeridos por eles no exemplo em Delphi:  Esse mesmo exemplo abaixo, imprime tudo de uma vez só no windows 8.1, já no windows 7, ocorre uma pausa entre cada linha.

Alguém já passou por esse problema ?  Como resolve-lo ?

 

WriteRawStringToPrinter(cboxImpressoras1.Text,'Teste de impressão'+#13+#10,0);

WriteRawStringToPrinter(cboxImpressoras1.Text,'Teste de impressão'+#13+#10,0);

WriteRawStringToPrinter(cboxImpressoras1.Text,'Teste de impressão'+#13+#10,0);

WriteRawStringToPrinter(cboxImpressoras1.Text,'Teste de impressão'+#13+#10,0);

 

procedure WriteRawStringToPrinter(PrinterName:String; S: AnsiString;pFonte:Integer);  
var
   Handle: THandle;
   N: DWORD;
   DocInfo1: TDocInfo1;
   B_Ret:Boolean ;
begin
    if not OpenPrinter(PChar(PrinterName), Handle, nil) then
     begin
      ShowMessage('error ' + IntToStr(GetLastError));
      Exit;
     end;
     If pFonte=1 Then
     Begin
        s:=trocaAcentos(s) ;
     End ;
   with DocInfo1 do begin
     //pDocName := PWideChar('test doc');   //   pDocName := PChar('test doc');
     pDocName := PChar('test doc');   //   pDocName := PChar('test doc');
     pOutputFile := nil;
     pDataType := 'RAW';

   end;
   StartDocPrinter(Handle, 1, @DocInfo1);
   StartPagePrinter(Handle);
   WritePrinter(Handle, PAnsiChar(S), Length(S), N); // WritePrinter(Handle, PChar(S), Length(S), N);
   EndPagePrinter(Handle);
   EndDocPrinter(Handle);
   ClosePrinter(Handle);
end;
 

  • Moderadores
Postado

Me parece que cada chamada a WriteRawStringToPrinter cria uma nova tarefa de impressão no Windows, então é até natural que haja uma pausa.

Porque não usa o ACBrPosPrinter? Basta configurar o driver pra criar a porta serial e configurar o PosPrinter com o modelo ppEscEpson e ela funciona 100%.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
13 horas atrás, BigWings disse:

Me parece que cada chamada a WriteRawStringToPrinter cria uma nova tarefa de impressão no Windows, então é até natural que haja uma pausa.

Porque não usa o ACBrPosPrinter? Basta configurar o driver pra criar a porta serial e configurar o PosPrinter com o modelo ppEscEpson e ela funciona 100%.

O fato é que essa pausa ocorre somente no windows 7. No windows 8.1 e 10, essa pausa não ocorre

Nunca utilizei esse ACBrPosPrinter, mas vou dar uma estudada.

Obrigado.

 

  • Moderadores
Postado
54 minutos atrás, Dércio Luis Zanatta disse:

Esse ACBRPosPrinter é o mesmo que ACBRPrinters.exe que está para download aqui no site ou é um componente ?

 

Componente do ACBr. Veja o demo no diretório ACBr\Exemplos\ACBrSerial\ACBrPosPrinter.

1 hora atrás, Dércio Luis Zanatta disse:

O fato é que essa pausa ocorre somente no windows 7. No windows 8.1 e 10, essa pausa não ocorre

A função chama OpenPrinter, StartDocPrinter, StartPagePrinter pra cada linha a ser impressa. Bem pouco eficiente. Talvez você devesse mandar o texto todo de uma vez só, num StringList por exemplo, ou modificar a função para abrir a tarefa de impressão uma vez só, fazer todas as chamadas a WritePrinter necessárias, e encerrar com o EndPagePrinter, EndDocPrinter e ClosePrinter.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado

Bom dia

Instalei em uma máquina do cliente. Funciona perfeito, mas quando reinicia o computador, não funciona mais.. A porta aparece sem nenhum problema no gerenciador de dispositivos do windows, porém quando vai usar, da erro:  "Connection Error:1 Função incorreta"

Se desinstalar o driver e instalar novamente, volta a funcionar, mas é só reiniciar que não funciona mais.

alguém tem alguma idéia do que pode ser isso ?

 

Postado
12 horas atrás, Dércio Luis Zanatta disse:

Bom dia

Instalei em uma máquina do cliente. Funciona perfeito, mas quando reinicia o computador, não funciona mais.. A porta aparece sem nenhum problema no gerenciador de dispositivos do windows, porém quando vai usar, da erro:  "Connection Error:1 Função incorreta"

Se desinstalar o driver e instalar novamente, volta a funcionar, mas é só reiniciar que não funciona mais.

alguém tem alguma idéia do que pode ser isso ?

 

Oi

Tenta aquela ideia de compartilhar a impreasora e colocar na porta "//localhost/nomedaimpreasora"

Obs: nao tenho certeza aqui agora  se eh esta barra ou \.

Nao lembro qual foi o caso, mas pesquisa aqui no forum, q teve alguns casos que a impressao so funcionou assim...

Att

Ricardo

  • Este tópico foi criado há 2858 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.