downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

printer_select_brush> <printer_logical_fontheight
Last updated: Fri, 30 Oct 2009

view this page in

printer_open

(PECL printer SVN)

printer_openErstellt eine Verbindung zu einem Drucker

Beschreibung

mixed printer_open ([ string $devicename ] )

Diese Funktion versucht eine Verbindung zum Drucker devicename herzustellen. Bei erfolgreichem Aufbau einer Verbindung wird ein Druckerhandler zurückgeliefert, ansonsten FALSE

Wenn keine Parameter übergeben werden, wird versucht eine Verbindung zum Standarddrucker herzustellen. (Falls kein Standarddrucker in php.ini als printer.default_printer angegeben ist, versucht PHP diesen zu ermitteln).

printer_open() startet auch einen Gerätekontext.

Beispiel #1 printer_open() Beispiel

<?php
$handle 
printer_open("HP Deskjet 930c");
$handle printer_open();
?>


printer_select_brush> <printer_logical_fontheight
Last updated: Fri, 30 Oct 2009
 
add a note add a note User Contributed Notes
printer_open
Sunny Chan from HK
19-Jun-2009 04:03
If you cannot print on a client shared printer, you may create a admin user account, and assign it to run Apache under Windows Service.
John Middleton
20-Mar-2009 06:09
I had been playing around with trying to get PHP to print to a network server off and on for quite some time, and I finally came across somebody who had the piece of the puzzle I've been missing.

Like I said, the printer I've been trying to print to is a network printer, so I had been trying to open the printer as follows:

<?php printer_open("\\\\servername\\printername"); ?>

What I had been missing is that the function needed the internet host name of the server, which includes the domain name.  So, let's say my print server was called "PServer" and my network's domain was called php.net:

<?php printer_open("\\\\Pserver.php.net\\printername"); ?>

This will more than likely work, then you can open and print a file as follows:

<?php
$printer
= "\\\\Pserver.php.net\\printername");
if(
$ph = printer_open($printer))
{
  
// Get file contents
  
$fh = fopen("filename.ext", "rb");
  
$content = fread($fh, filesize("filename.ext"));
  
fclose($fh);
       
  
// Set print mode to RAW and send PDF to printer
  
printer_set_option($ph, PRINTER_MODE, "RAW");
  
printer_write($ph, $content);
  
printer_close($ph);
}
else
"Couldn't connect...";
?>
knightcon at bluebottle dot com
15-Dec-2006 01:04
If you are desperate to do server-side printing with PHP on a *nix machine then you can always use the fsockopen() function and send a pre-build PJL (Printer Job Language) string directly to the printer. As long as your printer supports PJL then there should be no problem. Just also bare in mind that unless you are doing something very special, like sending the print job to a remote printer and not the printer the client is at you should just make a report page generated by php and apply a css stylesheet which makes the page styled for printing.
philip
29-Mar-2005 10:39
This function may also return NULL on failure, instead of FALSE.
jt at jtis dot de
31-Aug-2004 10:39
Revision: Single quotes DO work, but with a triple slash, like
printer_open('\\\SERVERNAME\PRINTERNAME');

Weird.
jasonlam_ at hotmail dot com
04-Jun-2003 11:22
Connecting to Network Printers
<?php
   $handle
= printer_open("\\\\DOMAIN_NAME\\Printer_Name");
?>
Similiar to how you would locate a domain on your network
you need to have 2 prefix slashes.  But as reminder
you need to escape it.  So really you need 4 slashes.  It
worked me. Hopefully this helps who is having problems
connecting to network printer.
csammis at iastate dot edu
01-May-2002 02:38
As stated on the index page for all the printer functions, these are supported under Win32 *only*...in fact, they're frontends API calls. I'd go ahead and say that they would probably never be ported to *nix because of the many various ways of handling printers. Windows, for all its faults, at least has a unified printing system.

As to editing the php.ini, try it with no path at all, like the first example here

printer_select_brush> <printer_logical_fontheight
Last updated: Fri, 30 Oct 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites