nfephp-org/posprint

热敏POS打印机库

v0.1.3 2017-12-10 12:25 UTC

This package is auto-updated.

Last update: 2024-09-24 04:49:30 UTC


README

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

posprint

POS热敏打印机API。用于零售网络收银台。

注意:此包仍在alpha阶段,不可用。

我们需要贡献者!

此API通过直接向打印机发送命令(RAW)来运行,无需使用特定驱动程序。它是基于多个制造商(品牌和型号)的可用的Esc/Pos命令构建的,重点在于巴西市场。

以下制造商已包含在此API中,但由于其固件提供的资源可用性,并非所有品牌的型号都将正常工作。(目前指定的型号仅为基本信息,尚未进行所有实际功能测试)。

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

此API应提供通过多种连接方式访问连接的热敏打印机,以及在任何操作系统上,只要正确安装和配置了连接,无需为每个操作系统安装特定驱动程序(在某些情况下仅需要一个标准的RAW驱动程序)。

  • 串行
  • 并行
  • USB
  • Cups打印服务器
  • Windows打印服务器
  • IPP
  • LPR
  • 网络(qz.io java)

PHP先决条件

  • PHP >= 5.6
  • ext-gd(用于图像和标志处理)
  • 研究使用ext-imagick的可能性

基本功能

  • 加载适当的连接器类
  • 加载适当的打印机类
  • 使用接口和打印机类的基本功能发送命令序列
  • 使用选择的连接器向打印机发送命令

贡献者的笔记

我们遇到的问题是PhpSerial类,因为作者决定单独执行更改端口的Windows命令。但是,在Windows中,每次执行"mode PORTA"命令时,如果传递了参数,则其他参数都会恢复默认值。而打印机应该以如图所示的端口方式运行。

Alt CMD 为了实现这一点,您需要修改posprint-master/vendor/hyperthese/php-serial/src/PhpSerial.php文件中的行

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

更改了该行,因为Windows不使用"\.com"命令打开串行端口,而是使用"COM"命令

然后我们对以下行进行了另一项更改。

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

此更改是必要的,因为邮件开头已解释。

各位,这些更改仅用于在Windows上使用串行端口进行测试,请记住这不是项目的目的。

此致敬礼,

R Ribeiro Soares

安装(Install)

通过Composer

$ composer require nfephp-org/posprint

用法(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();

变更日志(Change Log)

请查看变更日志以获取有关最新变更的更多信息。请参阅变更日志以获取有关最近更改的信息。

测试中(测试

$ composer test

贡献(贡献

请阅读如何在贡献指南和我们的行为准则中了解更多详细信息。请参阅贡献指南行为准则以获取详细信息。

安全性

如果您发现任何与安全相关的问题,请直接联系维护者linux.rlm@gmail.com,而不是在github上创建ISSUE。 如果您发现任何安全相关的问题,请通过电子邮件发送:author_email而不是使用问题跟踪器。

致谢(致谢

我必须感谢这些开发者,因为没有他们的帮助,在开源许可证下他们的作品将无法开发这个项目。

许可证(许可证

此软件包正在LGPLv3或GPLv3或MIT许可证下提供,有关更多信息,请参阅许可证文件LGPLv3、GPLv3和MIT许可证。请参阅许可证文件以获取更多信息。