Ir para conteúdo
  • Cadastre-se

dev botao

PHP + ACBRMonitorPlus


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

Recommended Posts

Boa Tarde Srs. Meu primeiro post no fórum que já acompanho a algum tempo.
Iniciei hoje o processo de integração do meu software web com o monitor. Dei uma lida no Help e comecei os jobs.
Inicialmente, queria testar a impressão. 

Fiz os seguintes procedimentos, conforme ordem abaixo, mas não imprime nada, embora a resposta aparentemente seja true.

ESCPOS.porta
ESCPOS.setporta('ESDPRT001')  //Não vi muita finalidade, pois já foi setada no monitor.
ESCPOS.ativar //Também fiz a ativação no monitor.
ESCPOS.ativo
ESCPOS.imprimir

Alguém consegue me dar um help? Obrigado.

ESCPOS.porta
object(ClientSocket)[1]
  private 'hnd' => resource(3, Socket)
  private 'host' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'ip' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'port' => int 3434
  private 'type' => null
  private 'family' => int 2
  private 'protocol' => int 6
  private 'bConnected' => boolean true
  private 'sBuffer' => string 'ACBrMonitor/ACBrNFeMonitor PLUS Ver. 0.3.08.1
Conectado em: 16/11/16 14:42:39
M谩quina: 127.0.0.1
Esperando por comandos.OK: ESDPRT001' (length=139)
  private 'iReadTimeOut' => int 2
  private 'iWriteTimeOut' => int 2
  public 'bShowErros' => boolean false
  public 'bExceptions' => boolean true
  public 'typ' => int 1
ESCPOS.setporta('ESDPRT001')
object(ClientSocket)[1]
  private 'hnd' => resource(3, Socket)
  private 'host' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'ip' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'port' => int 3434
  private 'type' => null
  private 'family' => int 2
  private 'protocol' => int 6
  private 'bConnected' => boolean true
  private 'sBuffer' => string 'OK: ' (length=5)
  private 'iReadTimeOut' => int 2
  private 'iWriteTimeOut' => int 2
  public 'bShowErros' => boolean false
  public 'bExceptions' => boolean true
  public 'typ' => int 1
ESCPOS.ativar
object(ClientSocket)[1]
  private 'hnd' => resource(3, Socket)
  private 'host' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'ip' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'port' => int 3434
  private 'type' => null
  private 'family' => int 2
  private 'protocol' => int 6
  private 'bConnected' => boolean true
  private 'sBuffer' => string 'OK: ' (length=5)
  private 'iReadTimeOut' => int 2
  private 'iWriteTimeOut' => int 2
  public 'bShowErros' => boolean false
  public 'bExceptions' => boolean true
  public 'typ' => int 1
ESCPOS.ativo
object(ClientSocket)[1]
  private 'hnd' => resource(3, Socket)
  private 'host' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'ip' => 
    array (size=1)
      0 => string '127.0.0.1' (length=9)
  private 'port' => int 3434
  private 'type' => null
  private 'family' => int 2
  private 'protocol' => int 6
  private 'bConnected' => boolean true
  private 'sBuffer' => string 'OK: True' (length=9)
  private 'iReadTimeOut' => int 2
  private 'iWriteTimeOut' => int 2
  public 'bShowErros' => boolean false
  public 'bExceptions' => boolean true
  public 'typ' => int 1
ESCPOS.imprimir('FONTE NORMAL: 48 Colunas....+....1....+....2....+....3....+....4....+...EXPANDIDO: 24 Colunas....+....1....+....2....CONDENSADO: 64 Colunas....+....1....+....2....+....3....+....4....+....5....+....6....')
string 'OK: ' (length=5)

 

Link para o comentário
Compartilhar em outros sites

Sim, já olhei.

Lá mostra tudo como OK.

ACBrMonitor/ACBrNFeMonitor PLUS Ver. 0.3.08.1
Conectado em: 16/11/16 14:42:39
Máquina: 127.0.0.1
Esperando por comandos.
ESCPOS.porta
OK: ESDPRT001
ESCPOS.setporta('ESDPRT001')
OK: 
ESCPOS.ativar
OK: 
ESCPOS.ativo
OK: True
ESCPOS.imprimir('</zera></linha_dupla>FONTE NORMAL: 48 Colunas</lf>....+....1....+....2....+....3....+....4....+...</lf><e>EXPANDIDO: 24 Colunas</lf>....+....1....+....2....</lf></e><c>CONDENSADO: 64 Colunas</lf>....+....1....+....2....+....3....+....4....+....5....+....6....</lf></pular_linhas></corte_total>')
OK: 
ALERTA: Fim da Conexão com: 127.0.0.1 em: 16/11/16 14:42:49

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
ESCPOS.setporta('ESDPRT001')

Isso parece errado... nome válidos seriam: COM1, \\MAQUINA\IMPRESSORA, RAW:NomeImpressora, TCP:IP_MAQUINA:PORTA

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Daniel Simoes disse:

ESCPOS.setporta('ESDPRT001')

Isso parece errado... nome válidos seriam: COM1, \\MAQUINA\IMPRESSORA, RAW:NomeImpressora, TCP:IP_MAQUINA:PORTA

Já tentei de várias maneiras:
ESCPOS.setporta('ESDPRT001')
ESCPOS.setporta('USB-001')
ESCPOS.setporta('USB-002')
ESCPOS.setporta('\\LOCALHOST\EPSON')

Todos retornam como OK no monitor mas sem efetuar a impressão.

Link para o comentário
Compartilhar em outros sites

11 minutos atrás, André Ferreira de Moraes disse:

Vc consegue ativar a impressora pela interface do ACBrMonitor?

Sim. No monitor esta configurado assim:

MODELO - ppEscPosEpson
PORTA - ESDPRT001 (Esta é a porta que aparece na configuração da impressora no painel do windows)
 

Ele ativa e desativa normalmente, sem nenhum erro.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Esse tipo de porta o ACBrPosPrinter não suportará.,...  Veja, ele é um componente de impressão direta (RAW), e que não depende do Spool do Windows, então não adianta informar uma porta de Spool do Windows

Você pode usar RAW:NomeImpressoraNoWindows (não o nome da porta no Spool)... Exemplo: "RAW:Epson Caixa 1"...

Outro fato é que o ACBrPosPrinter somente funcionará, em impressoras que suportem a linguagem "EscPos".

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Boa Tarde Srs.

Já tentei de todas as formas possíveis. Atualmente a porta esta como "ESCPOS.setporta('RAW:EPSON')";. 

No monitor, somente EPSON, conforme print em anexo.

Todos os comandos retornam OK ou TRUE, porém não imprime nada, conforme exemplos abaixo.

ESCPOS.modelo
string 'OK: ppEscPosEpson' (length=18)

ESCPOS.lerstatusimpressora
string 'OK: stNaoSerial, ' (length=18)

ESCPOS.paginadecodigo
string 'OK: pc850' (length=10)

ESCPOS.cortapapel
string 'OK: True' (length=9)

ESCPOS.imprimirlinha('</zera>')
	ESCPOS.imprimirlinha('</linha_dupla>')
	ESCPOS.imprimirlinha('TEXTO NORMAL')
	ESCPOS.imprimirlinha('</fn></ce>ALINHADO NO CENTRO 1 2 3 TESTANDO')
	ESCPOS.imprimirlinha('<n>FONTE NEGRITO</N>')
	ESCPOS.imprimirlinha('<e>FONTE EXPANDIDA</e>')
	ESCPOS.imprimirlinha('<c>FONTE CONDENSADA</e>')
	ESCPOS.imprimirlinha('<in>FONTE INVERTIDA</in>')
	ESCPOS.imprimirlinha('<S>FONTE SUBLINHADA</s>')
	ESCPOS.imprimirlinha('<i>FONTE ITALICO</i>')
	ESCPOS.imprimirlinha('</pular_linhas>')
	ESCPOS.imprimirlinha('</corte_total>')
string 'OK: ' (length=5)

Ou seja, acredito que por estar retornando as configurações, a conexão esta ocorrendo de forma satisfatória. É isso mesmo? Onde estou errando?

Agradeço a disposição de todos que tem me ajudado até o momento.
 

Print_ACBR.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores

     3.2 - Não faça "bump" de forma excessiva (postar simplesmente para que um tópico vá para o topo da lista). Isso é considerado flooding.

Favor leia as regras do fórum.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Fórum é gratuito e aberto! então aguarde alguém vir e responder, na sua grande maioria são funcionários e donos de empresas, então sugiro aguardar mais tempo para respostas

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Amigo, Obrigado mais uma vez.

Sei como funciona o sistema de fóruns. Também sou proprietário de empresa e corro atras do meu pão todo santo dia, como a grande maioria aqui.
Sou ativo em outros fóruns de assuntos que domino, como por exemplo, o fórum do NFePHP.

Estou aguardando. Desculpe se um UP gerou tanto problema assim. Não irei "floodar" novamente. Tenha certeza disso. 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Por favor faça testes na sua impressora com  o Demo PosPrinterTeste.exe disponível na área de Downloads 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Prezado Daniel, Bom Dia.
Obrigado pela atenção.

Fiz o teste com a PosPrinterTeste.exe e a impressão ocorreu de forma satisfatória. Veja em anexo o print das configurações.: Tendo em vista que funcionou no teste, o que pode ser?

PS: Fiz teste de QrCode e de Tags de Formatação de Caracter. Neste último, a impressão ocorrer perfeitamente, porem o corte da guilhotina ocorre antes da finalização da impressão. O corte ocorre bem em cima da linha <i>FONTE ITALICO</i>, ficando na impressora após o corte o restante da linha <i>FONTE ITALICO</I> e as linhas </FA>FONTE TIPO A  e </FN>FONTE NORMAL.

Print_PrinterTeste.jpg

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Humm.. pode ser que a versão do ACBRMONITOR que você esteja usando, ainda não suporte a impressão em RAW... mas você poderia usar a porta em modo de compartilhamento do Windows 

\\NomeMaquina\NomeCompartilhamento

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Olá Daniel, Bom Dia.

Também não. Tentei como \\aranda-pc\EPSONCOMPARTILHADA  (EPSONCOMPARTILHADA é o nome do compartilhamento no Windows)
Os retornos no monitor voltam todos como True mas não imprime.

Qual a versão mais recente do monitor? Estou testando na versão 0.3.08.1 - ACBr: 0.9.0a

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Testou dessa maneira no PosPrinterTeste?

Acredito que apenas na versão do SAC, ja contemple o suporte a RAW

Mas voce pode compilar o MonitorPLUS dos fontes...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Daniel Simoes disse:

Testou dessa maneira no PosPrinterTeste?

Acredito que apenas na versão do SAC, ja contemple o suporte a RAW

Mas voce pode compilar o MonitorPLUS dos fontes...

Prezado Daniel, Boa Tarde.

Você tem razão. Fiz o download do Monitor SAC Versão 1.0.0.10 e tudo começou a funcionar. Vou testar mais  a fundo e montar um layout de impressão agora. Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Prezados, Boa Tarde.
Em todos os meus testes, tudo tem funcionado corretamente e a contento, embora agora eu esteja com uma nova situação.
Os testes eram realizados todos em LOCALHOST e a partir de agora, subi para um servidor de testes.

Neste servidor, não consigo me comunicar com o monitor, retornando o erro  Socket error. Code: -10001 - Message: Unknown host

O que precisa ser feito para configurar o servidor no monitor ?

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2645 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.

The popup will be closed in 10 segundos...