PHPackages                             nfephp-org/posprint - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nfephp-org/posprint

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nfephp-org/posprint
===================

Thermal POS printer library

v0.1.3(8y ago)7134.3k↓59.8%42[3 issues](https://github.com/nfephp-org/posprint/issues)[1 PRs](https://github.com/nfephp-org/posprint/pulls)2LGPLv3+PHPPHP &gt;=5.6

Since Sep 12Pushed 7y ago17 watchersCompare

[ Source](https://github.com/nfephp-org/posprint)[ Packagist](https://packagist.org/packages/nfephp-org/posprint)[ Docs](https://github.com/nfephp/posprint)[ RSS](/packages/nfephp-org-posprint/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (5)Versions (5)Used By (2)

[![Build Status](https://camo.githubusercontent.com/4ab9facb254ad822c0549ecf798f06060f812318598998ce3c360624574dd68b/68747470733a2f2f7472617669732d63692e6f72672f6e66657068702d6f72672f706f737072696e742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/nfephp-org/posprint)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/056d9c72bdea55bf4d47c27d4dda658140293278ba048361500e4989698fa29c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e66657068702d6f72672f706f737072696e742f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/nfephp-org/posprint/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/3bdc701dc0f62ed2e5a63fb4317a7be0a5ba28cbf2830fbc5269378870b84cca/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e66657068702d6f72672f706f737072696e742f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/nfephp-org/posprint/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/46df6b0885b1ae8ba1b575cb35dd9a82606cc4acc321a17e675a1acbb270a9de/68747470733a2f2f706f7365722e707567782e6f72672f6e66657068702d6f72672f706f737072696e742f762f737461626c65)](https://packagist.org/packages/nfephp-org/posprint)[![Total Downloads](https://camo.githubusercontent.com/64a89c307023ec54aa3f905f80f58a1f9d57d4ba57f909adb1f30085f4d416d7/68747470733a2f2f706f7365722e707567782e6f72672f6e66657068702d6f72672f706f737072696e742f646f776e6c6f616473)](https://packagist.org/packages/nfephp-org/posprint)[![Latest Unstable Version](https://camo.githubusercontent.com/836c0846e0622aa5d8b4a778562254067106edc2ce21407b98c015242e0877a1/68747470733a2f2f706f7365722e707567782e6f72672f6e66657068702d6f72672f706f737072696e742f762f756e737461626c65)](https://packagist.org/packages/nfephp-org/posprint)[![License](https://camo.githubusercontent.com/4d6a72a95fa4d9beafc9ffceeffc5bbd674cd68c629666d22e40dd854d6eccdd/68747470733a2f2f706f7365722e707567782e6f72672f6e66657068702d6f72672f706f737072696e742f6c6963656e7365)](https://packagist.org/packages/nfephp-org/posprint)

posprint
========

[](#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.
---------------------------------------------------------------

[](#atenção-este-pacote-ainda-está-em-fase-alpha-e-não-é-funcional)

### Necessitamos de colaboradores !

[](#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 &gt;= 5.6
- ext-gd (para tratamento das imagens e logos)
- estudando a possibilidade de uso de ext-imagick

Funcionamento básico
--------------------

[](#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
-----------------------

[](#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](images/wincmd.png?raw=true "CMD")](images/wincmd.png?raw=true)​ 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*)
----------------------

[](#instalação-install)

Via Composer

```
$ composer require nfephp-org/posprint
```

Exemplo de Uso (*Usage*)
------------------------

[](#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*)
--------------------------------

[](#log-de-alterações-change-log)

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

Testando (*Testing*)
--------------------

[](#testando-testing)

```
$ composer test
```

Contribuindo (*Contributing*)
-----------------------------

[](#contribuindo-contributing)

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

Security
--------

[](#security)

Caso você encontre qualquer problema relacionado a segurança, informe diretamente o mantenedor  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*)
--------------------

[](#creditos-credits)

- [escpos-php](https://github.com/mike42/escpos-php) (C) Michael Billington (MIT License)
- [php-esc-pos](https://github.com/ronisaha/php-esc-pos) (C) Roni Saha (MIT License)
- [PHP:IPP](http://www.nongnu.org/phpprintipp/) (C) (GPL)

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

[](#licenças-license)

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

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity44

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~151 days

Total

4

Last Release

3127d ago

PHP version history (2 changes)v0.1.0PHP ~5.5|~7.0

v0.1.3PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/83b3feccdc04943c30ac9b785307cb73385c30d5b3ad8a7c700f7704416dc280?d=identicon)[robmachado](/maintainers/robmachado)

---

Top Contributors

[![robmachado](https://avatars.githubusercontent.com/u/1437008?v=4)](https://github.com/robmachado "robmachado (192 commits)")[![carusogabriel](https://avatars.githubusercontent.com/u/16328050?v=4)](https://github.com/carusogabriel "carusogabriel (1 commits)")[![Offboard](https://avatars.githubusercontent.com/u/165483764?v=4)](https://github.com/Offboard "Offboard (1 commits)")[![RenanGaleno](https://avatars.githubusercontent.com/u/5055150?v=4)](https://github.com/RenanGaleno "RenanGaleno (1 commits)")

---

Tags

driverprintescposnfcethermal

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/nfephp-org-posprint/health.svg)

```
[![Health](https://phpackages.com/badges/nfephp-org-posprint/health.svg)](https://phpackages.com/packages/nfephp-org-posprint)
```

###  Alternatives

[mike42/escpos-php

PHP receipt printer library for use with ESC/POS-compatible thermal and impact printers

2.8k2.1M25](/packages/mike42-escpos-php)[alchemy/binary-driver

A set of tools to build binary drivers

19511.1M40](/packages/alchemy-binary-driver)[balbuf/composer-git-merge-driver

Custom git merge driver to minimize merge conflicts in composer.json and composer.lock files.

137282.9k](/packages/balbuf-composer-git-merge-driver)[dbrekelmans/browser-driver-installer

Helps you install the appropriate browser driver.

468.3k](/packages/dbrekelmans-browser-driver-installer)[print-filament/print

The print-filament package is a simple and efficient tool that allows users to quickly print the current webpage directly from their browser. This plugin enhances the convenience of printing online content by providing a one-click solution for generating printer-friendly versions of the pages you're viewing.

147.6k](/packages/print-filament-print)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
