Code Monkey home page Code Monkey logo

posprint's Introduction

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License

posprint

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

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).

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).

  • 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) :

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

Prerequisitos PHP

  • 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.

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

    //$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"

Depois fizemos outra alteração que é na linha abaixo.

 "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.

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

Atenciosamente,

R Ribeiro Soares

Instalação (Install)

Via Composer

$ composer require nfephp-org/posprint

Exemplo de Uso (Usage)

$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.

Testando (Testing)

$ composer test

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.

Security

Caso você encontre qualquer problema relacionado a segurança, informe diretamente o mantenedor [email protected] 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.

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.

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.

posprint's People

Contributors

robmachado avatar offboard avatar carusogabriel avatar renangaleno avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.