【问题标题】:Call to undefined function printer_open()调用未定义的函数printer_open()
【发布时间】:2013-02-26 14:28:01
【问题描述】:

我正在尝试通过此代码连接到另一台机器上的打印机

     $handle = printer_open("\\\\xxx.xxx.xxx.xxx\\Canon MF4320-4350");
     if($handle)
     echo "connected";
     else
     echo "not connected";     

并得到错误

    Fatal error: Call to undefined function printer_open() in C:\wamp\www\print\index.php on line 3

我已经安装了 php_printer.dll,但它没有在phpinfo() 下显示。使用 PHP 5.3.0 版

我怎样才能连接到打印机并使我的printer_open() 方法工作?

【问题讨论】:

  • 你在php.ini中启用了扩展吗?
  • 你重启你的网络服务器了吗?
  • 你重启了apache吗?您检查日志是否有任何错误?
  • 是的,我在 php.ini 中启用了扩展并重新启动了我的 apache.. 运气不好 :(
  • 帮助不大,但我从来没有设法让打印机的东西在 php 中工作以直接发送到打印机。太糟糕了,我求助于创建 pdf 并自动打开它们供用户执行 ctrl+p :(

标签: php printing


【解决方案1】:

我也有类似的问题。到目前为止,这是我想出的。

  1. 确保您的扩展文件夹 (php/ext/) 中有一个与您的 php 编译版本相匹配的 php_printer.dll。使用此link 下载文件。

  2. 在您的 php.ini 文件中添加以下内容:

    printer.default_printer=PHP_INI_ALL
    extension=php_printer.dll
    

错误已消失,但文件仍未打印。

【讨论】:

  • 是的..我也做到了..但在印刷方面还没有领先:(
  • 请把解决方案说得更清楚。请说明我们必须复制php_printer.dll的位置。
【解决方案2】:

如果您在 WAMP 中使用 PHP 5.3/ 5.4/ 5.5,以下是您设置打印机的方法。

  1. 转到此链接:http://windows.php.net/downloads/pecl/snaps/printer/0.1.0-dev/
  2. 为您的版本下载 zip。首先尝试使用 ts。如果不起作用,请尝试 nts。
  3. 解压并复制 php_printer.dll 文件。在此处粘贴: C:\wamp\bin\php(phpyourversion)\ext 。注意:(phpyourversion) 会像 php5.5.12 取决于你的版本。
  4. 找到加载的 php.ini 文件。使用 phpinfo 或 Wamp 菜单找到它。在线查找更多帮助。
  5. 将此粘贴​​到文件末尾:extension=php_printer.dll
  6. 重启服务器。
  7. 使用以下代码创建一个文件并对其进行测试:

    <?php
    $printer_name = "Your Printer Name exactly as it is"; $handle = printer_open($printer_name); printer_start_doc($handle, "My Document"); printer_start_page($handle); $font = printer_create_font("Arial", 100, 100, 400, false, false, false, 0); printer_select_font($handle, $font); printer_draw_text($handle, 'This sentence should be printed.', 100, 400); printer_delete_font($font); printer_end_page($handle); printer_end_doc($handle); printer_close($handle);

  8. 如果上述方法不起作用,请尝试使用第二步中提到的 nts 版本的 php_printer.dll 文件。记得删除之前的文件后重启服务器,粘贴新文件。

【讨论】:

  • 哇!您的代码运行良好。你能再告诉我一件事,我怎样才能用这个代码打印条形码?
  • 永远不要在 WAMPServer 中使用 NTS DLL。
猜你喜欢
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-30
  • 2015-02-11
  • 2016-11-12
相关资源
最近更新 更多