【问题标题】:PHP mike42/escpos-php print from iPhone (remote website) to localhost printerPHP mike42/escpos-php 从 iPhone(远程网站)打印到本地打印机
【发布时间】:2019-10-07 04:59:53
【问题描述】:

我有一个网站(在远程服务器上),用户可以在 iPhone (Safari) 上查看。

我正在尝试使用户能够从该站点将文本文件打印到 POS 打印机(REGO 热敏打印机,RG-MTP58B)。此打印机不支持 AirPrint,但它是一款 wifi 打印机,使用172.20.10.2:9100 IP 和端口。

据我了解,我无法直接从服务器打印,因为打印机不在服务器网络中,而是在本地网络中。

我正在使用这个包:https://github.com/mike42/escpos-php 我看到的是唯一仍在维护的。

我试过这种方式:

$connector = new FilePrintConnector("php://stdout");
$printer   = new Printer($connector);
$printer->text("Hello World!\n");
$printer->cut();
$printer->close();

但这只是给出一个白页,打印机没有收到任何东西。

我尝试将文件保存在服务器中,在 Safari 中打开它,但 Safari 不提供打印它的选项(甚至在“共享”区域中也不提供)。

所以我发现包作者是这样做的:

$connector = new DummyPrintConnector();
$profile = CapabilityProfile::load("TSP600");
$printer = new Printer($connector);
$printer->text("Hello world!\n");
$printer->cut();
// Get the data out as a string
$data = $connector->getData();
// Return it, check the manual for specifics.
header('Content-type: application/octet-stream');
header('Content-Length: '.strlen($data));
echo $data;
// Close the printer when done.
$printer->close();

(原码:here

在这种情况下,它会创建一个文件并显示如下:

同样,它不提供打印它的选项(甚至在“共享”区域也不提供)。

文件内容为二进制:

<0x1b>@Hello world!
<0x1d>VA<0x03>

如何将此数据发送到打印机?

【问题讨论】:

    标签: php printing pos escpos


    【解决方案1】:

    这是一种可能的解决方案,即创建一个简单的应用程序,该应用程序具有一个 webview 组件,可打开您的服务器网站的 URL。

    1. 为 iPhone 制作一个简单的 webview 应用程序。您可以在服务器上使用 wkwebview 见wkwebview

    2. 从 webview 中读取 Receipt content 并解析出收据。

      -- 请务必使用Esc/POS codes 格式化收据文本以格式化文本、馈线和切纸。几乎每台收据打印机都使用 Esc/POS 代码,许多像这样的低成本热敏收据打印机实际上使用精工爱普生公司 (SEC) 引擎。这就是为什么此 PHP 代码可能适用于许多打印机的原因。

    3. 使用直接Socket 从 iPhone 应用程序连接到本地网络上的打印机。这样可以确保手机和打印机都在同一个网络上。

    如果你不是swift的粉丝,也可以使用XamarinApache Cordova等创建应用。

    【讨论】:

      【解决方案2】:

      我联系了打印机(Rego Printer)制造商,基本上他们不允许外部连接,这意味着你必须在本地打印。

      【讨论】:

        猜你喜欢
        • 2018-12-30
        • 1970-01-01
        • 1970-01-01
        • 2012-05-28
        • 2017-04-21
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多