0

从这个链接(从 PHP 打印到 POS 打印机)我开始使用 php 示例代码。我的问题是我的打印机设置为默认值,那么为什么我必须连接到打印机。无论如何,我在连接打印机时遇到错误。因为我的打印机名称在 fig1 中并且要访问打印机,我必须在运行中键入 \Sah-it\ARP-808K,如图 2 所示。我努力了:

1.

$connector = new FilePrintConnector("\\Sah-it\ARP-808K");
$printer = new Printer($connector);

2.

$profile = CapabilityProfile::load("simple");
$connector = new WindowsPrintConnector("smb://Sah-it/ARP-808Kr");
$printer = new Printer($connector, $profile);

3.

$connector = new NetworkPrintConnector("\\Sah-it\ARP-808K");
$printer = new Printer($connector);

一切都给了我连接错误。请帮我连接打印机。谢谢

图。1:

在此处输入图像描述

图2:

在此处输入图像描述

4

1 回答 1

0

我个人没有使用PHP 库的 ESC/POS 打印驱动程序,但文档确实以相当详细的方式说明了使用。从您的图像来看,您有一台从名为 的服务器共享的打印机\\Sah-it\ARP-808K。要连接(猜测打印机是爱普生),建议您执行以下操作:

    use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
    use Mike42\Escpos\CapabilityProfile;
    $profile = CapabilityProfile::load("simple");
    $connector = new WindowsPrintConnector("smb://Sah-it/ARP-808K");
    $printer = new Printer($connector, $profile);

注意:适用于 Epson TM 系列打印机,因此请查看文档以确保您的打印机受支持

如果您通过主机名遇到上述问题,请检查您的 PHP 服务器 DNS 配置,因为它可能无法解析Sah-it。在这种情况下,我建议尝试使用以下方法通过 IP 连接到打印机(如果已联网)或打印服务器的 IP:

use Mike42\Escpos\PrintConnectors\NetworkPrintConnector;
use Mike42\Escpos\Printer;
$connector = new NetworkPrintConnector("10.x.x.x", 9100); //Printer/Server IP
$printer = new Printer($connector);
try {
    // ... Print stuff
} finally {
    $printer -> close();
}

如果您还有其他问题,请添加您的打印机品牌和型号,确认您的网络服务器可以解决\\Sah-it并添加任何可能有帮助的相关错误。

于 2016-12-31T13:50:56.723 回答