2013-03-11 111 views
3

我想通过这个代码调用未定义功能printer_open()

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

+3

你在php.ini中启用了扩展吗? – 2013-03-11 12:04:51

+2

你重新启动了你的网络服务器吗? – j0k 2013-03-11 12:05:11

+0

你重新启动了Apache吗?你有没有检查日志是否有错误? – hank 2013-03-11 12:05:17

回答

3

我有类似的问题。这是我迄今为止所了解到的。

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

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

    printer.default_printer=PHP_INI_ALL 
    extension=php_printer.dll 
    

的错误已经消失,但文件仍不能打印。

+0

是的..我也实现了这一点..但在打印没有领先:( – Sriniwas 2013-04-30 05:29:08

+0

请更清楚的解决方案。请说明我们必须复制php_printer.dll。 – SwR 2016-05-17 10:14:34

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文件的尝试在第二步中提到。记得在删除前一个文件后重新启动服务器,粘贴新文件。

+0

哇!你的代码运行良好。你能请再告诉我一件事,如何使用此代码打印条形码? – 2017-11-28 14:32:00