2017 © Pedro Peláez
 

library posprint

Thermal POS printer library

image

nfephp-org/posprint

Thermal POS printer library

  • Wednesday, April 25, 2018
  • by robmachado
  • Repository
  • 12 Watchers
  • 37 Stars
  • 8,559 Installations
  • PHP
  • 5 Dependents
  • 3 Suggesters
  • 35 Forks
  • 2 Open issues
  • 5 Versions
  • 4 % Grown

The README.md

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License, (*1)

posprint

API para impressão em impressoras termicas POS (Point of Sales). Usadas em caixa de redes varejistas., (*2)

ATENÇÃO ESTE PACOTE AINDA ESTÁ EM FASE ALPHA E NÃO É FUNCIONAL.

Necessitamos de colaboradores !

O modo de funcionamento desta API é pelo envio de comandos diretos (RAW) para a impressora, sem a necessidade de uso de drivers especificos. E está construída com base nos comandos Esc/Pos disponíveis para as impressoras de vários fabricantes (marcas e modelos escolhidos com foco no mercado Brasileiro dessas impressoras)., (*3)

Os fabricantes a seguir estão inclusos nessa API, porém nem todos os modelos dessas marcas irão funcionar devido a disponibilidade de recursos oferecidos pelo seu próprio firmware. (Os modelos indicados por enquanto são mera informação de base, ainda não foram feitos todos os testes funcionais reais)., (*4)

  • EPSON (TM-T20)
  • DARUMA (DR700)
  • BEMATECH (MP-4200 TH)
  • ELGIN (VOX)
  • STAR (BSC-10)
  • SWEDA (SI-300)
  • DIEBOLD (TSP143MD/MU)

Esta API deve prover acesso as impressoras térmicas conectadas atraves de várias formas de conexão e em qualquer sistema operacional, dependendo apenas da correta intalação e configuração da conexão, sem a necessidade de drivers especificos para cada S.O. (apenas um driver RAW padrão em alguns casos) :, (*5)

  • Serial
  • Paralela
  • USB
  • Cups Print Server
  • Windows Printer Server
  • IPP
  • LPR
  • Web (qz.io java)

Prerequisitos PHP, (*6)

  • PHP >= 5.6
  • ext-gd (para tratamento das imagens e logos)
  • estudando a possibilidade de uso de ext-imagick

Funcionamento básico

  • Carrega classe do conector apropriado
  • Carrega classe da impressora apropriada
  • Envia a sequencia de comandos usando as funções básicas da interface e da classe de impressora
  • Envia os comandos para a impressora usando o conector escolhido

NOTAS DOS COLABORADORES

O problema que encontramos, foi na classe PhpSerial, pois o autor resolveu executar os comandos do windows para alteração de porta separadamente. Porem no windows, toda vez que o comando "mode PORTA" é executado, se passado algum parametro, os outros voltam ao default. E a impressora deve funcionar com a porta da forma que está na imagem abaixo., (*7)

Alt CMD ​ Para isso acontecer voce deve alterar as linhas do arquivo posprint-master/vendor/hyperthese/php-serial/src/PhpSerial.php, (*8)

    //$this->_device = "\\.com" . $matches[1];
    $this->_device = "COM" . $matches[1];

Foi alterado essa linha pois o windows não abre porta serial com o comando "\.com" e sim "COM", (*9)

Depois fizemos outra alteração que é na linha abaixo., (*10)

 "mode " . $this->_winDevice . " PARITY=" . $parity{0},
 "mode " . $this->_winDevice . " DATA=8 PARITY=" . $parity{0},

A alteração foi necessária devido a explicação feita no inicio do e-mail., (*11)

Pessoal, essas alterações foram feitas apenas para testes no windows utilizando a porta serial, lembrando que esse não é o intuito do projeto., (*12)

Atenciosamente,, (*13)

R Ribeiro Soares, (*14)

Instalação (Install)

Via Composer, (*15)

``` bash $ composer require nfephp-org/posprint, (*16)


## Exemplo de Uso (*Usage*) ``` php $filename = "/tmp/epson.prn"; $connector = new Posprint\Connector\File($filename); $printer = new Posprint\Printers\Epson($connector); $printer->initialize(); $printer->setBold(); $printer->text("Hello World !!"); $printer->setBold(); $printer->lineFeed(2); $printer->setAlign("C"); $printer->text("CENTRAL"); $printer->lineFeed(2); $printer->cut(); $printer->send();

Log de Alterações (Change Log)

Por favor veja o Log de Alterações para mais informações sobre as mudanças mais recentes. Please see CHANGELOG for more information what has changed recently., (*17)

Testando (Testing)

bash $ composer test, (*18)

Contribuindo (Contributing)

Por favor leia como contribuir em CONTRIBUTING e nosso Código de Conduta para maiores detalhes. Please see CONTRIBUTING and CONDUCT for details., (*19)

Security

Caso você encontre qualquer problema relacionado a segurança, informe diretamente o mantenedor linux.rlm@gmail.com ao invés de abrir uma ISSUE no github. If you discover any security related issues, please email :author_email instead of using the issue tracker., (*20)

Creditos (Credits)

I must thank and a lot to these developers because without his help the availability of their works under open licenses would not be possible to develop this project., (*21)

Licenças (License)

Este pacote está sendo disponibilizado sob as licenças LGPLv3 ou GPLv3 ou MIT, verifique o arquivo Licenças para maiores informações. The LGPLv3, GPLv3 and MIT License. Please see License File for more information., (*22)

The Versions

25/04 2018

dev-master

9999999-dev https://github.com/nfephp/posprint

Thermal POS printer library

  Sources   Download

MIT GPLv3+ LGPLv3+ LGPL-3.0-or-later GPL-3.0-or-later

The Requires

 

The Development Requires

driver print nfce escpos thermal

10/12 2017

v0.1.3

0.1.3.0 https://github.com/nfephp/posprint

Thermal POS printer library

  Sources   Download

MIT GPLv3+ LGPLv3+

The Requires

 

The Development Requires

driver print nfce escpos thermal

05/05 2017

v0.1.2

0.1.2.0 https://github.com/nfephp/posprint

Thermal POS printer library

  Sources   Download

MIT GPLv3+ LGPLv3+

The Requires

 

The Development Requires

driver print nfce escpos thermal

12/09 2016

v0.1.1

0.1.1.0 https://github.com/nfephp/posprint

Thermal POS printer library

  Sources   Download

MIT GPLv3+ LGPLv3+

The Requires

 

The Development Requires

driver print nfce escpos thermal

12/09 2016

v0.1.0

0.1.0.0 https://github.com/nfephp/posprint

Thermal POS printer library

  Sources   Download

MIT GPLv3+ LGPLv3+

The Requires

 

The Development Requires

driver print nfce escpos thermal