4

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

     $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()方法工作?

4

2 回答 2

5

如果您在 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. 如果上述方法不起作用,请尝试使用第二步中提到的 php_printer.dll 文件的 nts 版本。记得删除以前的文件后重新启动服务器,粘贴新文件。

于 2016-12-11T06:16:19.467 回答
3

我有一个类似的问题。这是我到目前为止所知道的。

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

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

    printer.default_printer=PHP_INI_ALL
    extension=php_printer.dll
    

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

于 2013-04-29T12:37:38.740 回答