【问题标题】:PHP Print Thermal Receipt PrinterPHP 打印热敏收据打印机
【发布时间】:2012-12-31 15:48:49
【问题描述】:

我拥有连接到本地 PHP 销售点的 Sewoo 热敏打印机。现在作为使用 php 的简单打印测试,我编写了以下代码:

<?php
$handle = printer_open("THERMAL LK-TXXX");
$handle = printer_open();
?>

我得到了这个错误:

Fatal error: Call to undefined function printer_open() in C:\wamp\www\frame\reciept.php on line 2

我使用 Wampp 作为我的 Web 服务器,Windows 7 并且我已经为我的打印机安装了正确的驱动程序。 我该如何解决这个问题,或者是否有替代的“打印”方法使用 PHP 自动打印而不显示打印预览?

谢谢

【问题讨论】:

  • 默认的 PHP 发行版中不包含打印机功能。你需要install them
  • 您确定安装了打印机扩展程序吗?
  • 我假设您使用的是第 3 方库,在这种情况下,您需要在运行函数之前包含该库:require_once "printer_library.php";
  • 事实上,PHP 打印机扩展从 PHP 4.0.4 开始就没有被修改过。您可能需要另一种解决方案。
  • 我没有打印机扩展,我在哪里可以找到它们?

标签: php printing point-of-sale


【解决方案1】:

POS 打印机(大部分)不是使用 Windows 打印功能创建输出的打印机,它完全独立于设备,而只是打印机控制语言中串行数据的接收器(我们构建了一个票务系统驱动非常相似的打印机)。

一种方法是使用 PHP 的 Win32API 扩展和 OpenDriver API,但结果却是一团糟。最好的方法是简单地fopen() 打印机端口并通过fwrite() 写入您的 PCL 数据

【讨论】:

  • 您将如何fopen 打印机端口?他们有“路径”吗?
  • 如何找到打印机端口?请帮忙!
  • 根据打印机的连接方式,有很多可能性。如果它是串行或并行(或打印机内部的 USB 到串行),这在这些野兽中很常见,只需使用 COMn:。如果它是 USB 连接的(逻辑上,不仅是物理上)使用类似 andtechnologies.com/index.php?q=free-software/dosprint
【解决方案2】:

您可能会收到此错误,因为未安装打印机扩展程序。来自 PHP 手册:

安装

此 » PECL 扩展未与 PHP 捆绑在一起。

Windows 用户必须在 php.ini 中启用 php_printer.dll 才能使用这些功能。此 PECL 扩展的 DLL 当前不可用。另请参阅 Windows 上的构建部分。

安装说明可以在这里找到:http://php.net/manual/en/install.windows.building.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-14
    • 2017-03-12
    • 2013-07-04
    • 2015-10-25
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多