title: Printing to printers in PHP
body: <p>I'm trying to set up a CLI PHP application to print a set of web pages to a default or specified printer. I'm on a Windows 7 machine with PHP 5.2.11 running in a CLI. To test the print functionality I've loaded PHP_printer.dll and I'm printing to Onenote, a print to file option, using the exact printer name given in PRINTER_ENUM_LOCAL.<br>
  <strong>Update</strong>: Here's the latest code:</p>
  
  <pre><code>$handle = printer_open("Send To OneNote 2010");
  printer_start_doc($handle, "My Document");
  printer_start_page($handle);
  
  $filename='index.html';
  $fhandle=fopen($filename, 'r');
  $contents = fread($fhandle, filesize($filename));
  fclose($fhandle);
  
  printer_set_option($handle, PRINTER_MODE, "RAW");
  printer_write($handle,$contents);
  
  printer_end_page($handle);
  printer_end_doc($handle);
  printer_close($handle);
  </code></pre>
  
  <p>I've gotten this code to print a blank page to the correct printer, but I'm unable to print the strings I pass to printer_write. I confirmed that <code>$contents</code> is properly filled with the contents of my test html file. No matter what I provide as the second arg (string to be printed) I get a blank page. Is there something I'm missing to at least allow me to print some text onto a page?</p>
  
  <p>Alternately is there a better way to do this (using PHP/javascript files)? What I am trying to do is print web pages as they appear (CSS included) via a CLI app, the web siteis written in PHP and I'm trying to minimize complexity. If there is a better way to print these (converting to PDF and printing is an option apparently) I'm open but it sounded like this was the simplest/de facto method in PHP.</p>