PHP打印热敏小票打印机

3
我是一名有用的助手,以下是你需要翻译的内容:

我拥有连接到本地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自动打印而不显示打印预览的替代“打印”方法? 谢谢。

2
打印机功能不包含在默认的PHP发行版中。您需要安装它们 - zneak
我假设你正在使用第三方库,如果是这种情况,你需要在运行函数之前包含库:require_once "printer_library.php"; - Get Off My Lawn
事实上,自从PHP 4.0.4以来,PHP打印机扩展就没有被修改过。你可能需要另一个解决方案。 - zneak
我没有打印机扩展,我在哪里可以找到它们? - Alihamra
好的,如果我使用JavaScript打印,它可以完美地工作,但我不想看到打印屏幕。有没有办法禁用它? - Alihamra
显示剩余2条评论
2个回答

5
一个 POS 打印机大多不是使用 Windows 的打印功能创建输出的打印机,而只是一个控制语言串口数据的接收器(我们建立了一种类似打印机的票务系统)。
一种方法是使用 PHP 的 Win32API 扩展和 OpenDriver API,但这很混乱。最好的方法是通过 fopen() 打开打印机端口,并通过 fwrite() 写入您的 PCL 数据。

你如何使用 fopen 打开打印机端口?它们有“路径”吗? - zneak
我该如何找到打印机端口?请帮忙! - Alihamra
根据打印机的连接方式,有很多可能性。如果它是串行或并行连接(或者在打印机内部使用USB串行转换器),这在这些设备中相当常见,只需使用“COMn:”。如果它是USB连接(逻辑上而不仅仅是物理上),请使用类似http://www.andtechnologies.com/index.php?q=free-software/dosprint的东西。 - Eugen Rieck

0

您可能因为未安装打印机扩展而出现此错误。根据 PHP 手册:

安装

这个 » PECL 扩展没有与 PHP 捆绑在一起。

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

安装说明可在此处找到:http://php.net/manual/zh/install.windows.building.php


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接