Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Call to undefined function printer_open()

Tags:

php

printing

I am trying to connect to my printer which is on another machine through this code

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

and getting the error

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

I have installed the php_printer.dll but it is not showing it under phpinfo(). Using PHP version 5.3.0

how can i connect to the printer and make my printer_open() method work??

like image 820
Sriniwas Avatar asked Feb 18 '23 05:02

Sriniwas


2 Answers

If you are using PHP 5.3/ 5.4/ 5.5 in WAMP, here is how you setup printer.

  1. Go to this link:http://windows.php.net/downloads/pecl/snaps/printer/0.1.0-dev/
  2. Download the zip for your version. First try with ts. If it does not work, try nts.
  3. Unzip and copy the php_printer.dll file. Paste here: C:\wamp\bin\php(phpyourversion)\ext . Note: (phpyourversion) will be like php5.5.12 depending on your version.
  4. Find the loaded php.ini file. Use phpinfo or Wamp menu to find it. Look online for more help.
  5. Paste this at the end of the file: extension=php_printer.dll
  6. Restart server.
  7. Create a file with the following code and test it:

    <?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. If the above does not work, try with nts version of the php_printer.dll file as mentioned in step two. remember to restart server after deleting the previous file, pasting the new file.

like image 77
Placid Avatar answered Feb 27 '23 09:02

Placid


I have a similar problem. This is what I have figured out so far.

  1. Make sure that you have a php_printer.dll matching your php compile version in your extension folder ( php/ext/ ). Use this link for downloading the file.

  2. add the following in your php.ini file:

    printer.default_printer=PHP_INI_ALL
    extension=php_printer.dll
    

The errors have disappeared but the file is still not printing.

like image 22
user2090145 Avatar answered Feb 27 '23 11:02

user2090145