nfephp-org / posprint

API para impressão em impressoras POS (Point of Sales) térmicas.
Other
66 stars 43 forks source link

Abrir janela de impressão #89

Closed jorgepopel closed 5 years ago

jorgepopel commented 5 years ago

Pessoal, estou tendo problemas em fazer abrir a janela de impressão do arquivo. Para gravar em arquivo, ou mostrar na tela está td ok. Mas abrir a janela de impressão, acho que meu conhecimento não alcança. hehehehehe

Alguém pode passar uma dica?

robmachado commented 5 years ago

Jorge; A que janela de impressão você se refere ??!?!? O postrint gera o código de impressão em ESCPOS (linguagem da impressora) ou seja um string BINARIO. Essa string (binaria não se esqueça) pode ser envia ao browser para ser posteriormente enviada a impressora (usando algum recursos como socket local ex. qz.io) ou em caso de estar em uma rede local enviar para a impressora de rede, ou ligada ao computator onde o posprint esteja instalado via USB, porta paralela ou serial.

jorgepopel commented 5 years ago

Sim meu amigo. O meu problema não é a biblioteca. Ela é show de bola. Meu problema é com o JS e como enviar essa string para a impressora, via o gerenciador de impressão para não depender de programas externos como qz.io ou print node.

Em 9 de out de 2018 2:38 PM, "Roberto L. Machado" notifications@github.com escreveu:

Jorge; A que janela de impressão você se refere ??!?!? O postrint gera o código de impressão em ESCPOS (linguagem da impressora) ou seja um string BINARIO. Essa string (binaria não se esqueça) pode ser envia ao browser para ser posteriormente enviada a impressora (usando algum recursos como socket local ex. qz.io) ou em caso de estar em uma rede local enviar para a impressora de rede, ou ligada ao computator onde o posprint esteja instalado via USB, porta paralela ou serial.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/nfephp-org/posprint/issues/89#issuecomment-428283031, or mute the thread https://github.com/notifications/unsubscribe-auth/AE-dz_RAJ5uDDkP1KQIJ1_FMXbz8PLWUks5ujN8GgaJpZM4XTeFE .

robmachado commented 5 years ago

Infelizmente isso é IMPOSSÍVEL !!! Devido a restrições de segurança dos browsers eles não tem mais acesso ao S.O. de forma direta. A unica forma de fazer isso é usando um SOCKET local, escrito em qualquer linguagem que escute em uma porta especifica e faça dessa forma a ponte entre o JS do browser e o S.O. para enviar esse conjunto de comandos para a impressora. Lembrando novamente que os comandos são binários (e não devem ser trafegados dados binários em uma conexão http). Para isso existe uma imensidão de soluções como NODE, ELECTRON, JAVA, DELPHI, C++, C#, VB, .NET, Python, etc. ...

jorgepopel commented 5 years ago

Pois é, amigo. Vou usar um programa local para interface. Hoje eu uso o PrintNode, mas não queria mais pagar.🙁

Agradeço a atenção.

Em ter, 9 de out de 2018 às 16:05, Roberto L. Machado < notifications@github.com> escreveu:

Infelizmente isso é IMPOSSÍVEL !!! Devido a restrições de segurança dos browsers eles não tem mais acesso ao S.O. de forma direta. A unida forma de fazer isso é usando um SOCKET local, escrito em qualquer linguagem que escute em uma porta especifica e faça dessa forma a ponte entre o JS do browser e o S.O. para enviar esse conjunto de comandos para a impressora. Lembrando novamente que os comando são binarios (e não devem ser trafegados dados binarios em uma conexão http). Para isso existem uma imensidão de soluções como ELECTRON, JAVA, DELPHI, C++, C#, VB, .NET, Python, etc. ...

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/nfephp-org/posprint/issues/89#issuecomment-428312561, or mute the thread https://github.com/notifications/unsubscribe-auth/AE-dz5TseWUUv5HM4_4_yRjQQDNz6eG2ks5ujPNegaJpZM4XTeFE .

-- Jorge Popelnitski Curso de NFePHP www.icentro.info Inscreva-se no meu canal no Youtube https://www.youtube.com/user/JorgePopel/videos?sub_confirmation=1 Curta os vídeos. hehehe

robmachado commented 5 years ago

Não é necessário pagar pelo QZ.io os fontes estão disponíveis no github. Pode baixar, substituir os certificados por um self signed com 100 anos de duração e recompilar o aplicativo

jorgepopel commented 5 years ago

É por isso que te amo, Roberto. Hehehe

Em ter, 9 de out de 2018 17:17, Roberto L. Machado notifications@github.com escreveu:

Não é necessário pagar pelo QZ.io os fontes estão disponíveis no github. Pode baixar, substituir os certificados por um self signed com 100 anos de duração e recompilar o aplicativo

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/nfephp-org/posprint/issues/89#issuecomment-428335834, or mute the thread https://github.com/notifications/unsubscribe-auth/AE-dz4L7B4EZwKc0D-EGICYLUMxQ74NFks5ujQRHgaJpZM4XTeFE .

thiagoreri commented 5 years ago

Certo, no caso do electron, se eu gero o relatório no PHP e uso o electron para comunicar com este PHP através de requisições http, teria alguma solução?

robmachado commented 5 years ago

Escreva a DANFCE diretamente no Electron existem bibliotecas para ESC/POS, ai é só usar o XML seja de uma NFCe ou do SAT@ECF