【问题标题】:Escpos-php with serial printer带有串行打印机的 escpos-php
【发布时间】:2016-08-21 22:38:05
【问题描述】:

我正在尝试使用我的 Epson TM-T88IV 串行打印机使用 php 打印 QR 码。但是,我的 php 文件安装在服务器上,我可以从 html 文件中成功调用它。我正在使用一个名为 ESCPOS-PHP (https://github.com/mike42/escpos-php) 的库,并且计算机运行的是 Windows XP Professional。这是我的 php sn-p (中间还有更多,但打印操作不需要):

<?php
require __DIR__. '/escpos-php-master/Escpos.php'; 
use Mike42\Escpos\Printer; 
use Mike42\Escpos\PrintConnectors\FilePrintConnector;

[...]

try {
    $connector = new WindowsPrintConnector("EPSON TM-T88IV Receipt");
    $printer = new Escpos($connector);
    $printer -> text("Hello World!\n");
    $printer -> cut();

    // Close printer 
    $printer -> close();
} catch(Exception $e) {
    echo "Couldn't print to this printer: " . $e -> getMessage() . "\n";
}
?>

好像我只是无法连接到打印机。我也尝试过

$connector = new FilePrintConnector("/dev/ttyS0");
$printer = new Printer($connector);

这应该是串行打印机的方式(我不确定我应该放什么而不是“/dev/ttsyS0”)。也许我不应该尝试通过服务器触发它?我这样做是因为我无法修改他的 POS 系统 (Maitre D),而且我需要一种简单的方法来在账单上打印 QR 码。如果您知道任何工作,任何建议将不胜感激!谢谢

【问题讨论】:

  • windows xp 什么时候有了/dev/ttyS0?那是unix主义。
  • 我只是从 github 自述文件中给出的信息中获取的,我知道我必须添加其他内容,但我不知道具体是什么..

标签: php printing escpos


【解决方案1】:

这里是escpos-php的作者。

escpos-php README 建议您首先尝试在命令行上将数据发送到您的打印机,因为它可以让您在尝试使用驱动程序之前确定如何打印。

例如,如果您打算在 COM1 上设置打印机,您可以尝试键入:

echo "Hello world" > COM1

对应:

<?php
$connector = new FilePrintConnector("COM1");
$printer = new Escpos($connector);
$printer -> text("Hello World\n");

WindowsPrintConnector 用于连接到 Windows 共享打印机。 This example 有一些有用的命令可确保您可以在打开 PHP 之前进行打印。例如,

echo "Hello world" > foo.txt
net use "\\computername\Receipt Printer" /user:Bob secret
copy testfile "\\computername\Receipt Printer"
del testfile

这对应于:

<?php
$connector = new WindowsPrintConnector("smb://bob:secret@computername/Receipt Printer");
$printer = new Escpos($connector);
$printer -> text("Hello World\n");

无论如何,有两个问题:

  • 仅与 Generic/Text only 驱动程序一起使用。 escpos-php 将输出原始的 ESC/POS,这会使任何需要文档的驱动程序感到困惑。
  • 这是服务器端。确保 PHP 正在执行打印的计算机上运行,​​或者如果使用网络打印,您至少在内部网络上。

【讨论】:

  • computer 是我的本地主机名还是实时服务器主机名?
  • @MuhammadUsman - 在 LAN 上共享打印机的计算机
  • 它可以是USB连接的打印机吗?
猜你喜欢
  • 1970-01-01
  • 2017-05-15
  • 2018-12-30
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多