private function readPrinters()
 {
     $pipp = new \NethServer\Tool\PrintIPP();
     $printers = array();
     $ipp = new \CupsPrintIPP();
     $ipp->setLog('/dev/null', 'file');
     $ipp->setUserName('admin');
     $ipp->getPrinters();
     foreach ($ipp->available_printers as $uri) {
         $ipp->setPrinterURI($uri);
         $ipp->getPrinterAttributes();
         $printers[basename($uri)] = array("enabled" => $ipp->printer_attributes->printer_is_accepting_jobs->_value0, "state" => $ipp->printer_attributes->printer_state->_value0);
     }
     return $printers;
 }
Esempio n. 2
0
 /**
  *  Get printer detail
  *
  *  @param  string  $uri    URI
  *  @return array           List of attributes
  */
 function get_printer_detail($uri)
 {
     global $conf, $db;
     include_once DOL_DOCUMENT_ROOT . '/includes/printipp/CupsPrintIPP.php';
     $ipp = new CupsPrintIPP();
     $ipp->setLog(DOL_DATA_ROOT . '/dolibarr_printipp.log', 'file', 3);
     // logging very verbose
     $ipp->setHost($this->host);
     $ipp->setPort($this->port);
     $ipp->setUserName($this->userid);
     if (!empty($this->user)) {
         $ipp->setAuthentication($this->user, $this->password);
     }
     $ipp->setPrinterURI($uri);
     $ipp->getPrinterAttributes();
     return $ipp->printer_attributes;
 }
Esempio n. 3
0
$ipp->setAttribute("printer-resolution", "1440x720dpi");
$ipp->setAttribute("job-billing", "Thomas");
$ipp->setAttribute("print-quality", "high");
$ipp->setAttribute("scaling", 100);
//$ipp->setCopies(2);
$ipp->setData('./photo.jpg');
$ipp->setJobName('photo.jpg', true);
echo "Printing a large file: " . $ipp->PrintJob() . "<br />";
printf('$ipp->status[0] = %s <br /><br />', $ipp->status[0]);
$ipp->unsetAttribute("job-billing");
$ipp->setJobName();
$ipp->setAttribute("scaling", "");
/* getting printer's attributes */
echo "<br /><br /><br />TEST 2<br />";
echo "OPERATION  " . $j++ . "<br />";
echo "Getting Printer's attributes: " . $ipp->getPrinterAttributes() . "<br />";
printf('$ipp->status[%s] = %s <br /><br />', count($ipp->status) - 1, $ipp->status[count($ipp->status) - 1]);
$timestamp = $ipp->printer_attributes->printer_up_time->_value0;
echo "Printer up-time: " . date('Y-m-d H:i:s', $timestamp) . "<br />";
echo "Printer's attributes :<pre>\n";
print_r($ipp->printer_attributes);
echo "</pre>";
/* printing a string */
echo "<br /><br /><br /> TEST 3<br />";
echo "OPERATION " . $j++ . "<br />";
$ipp->setCopies(2);
$ipp->setJobName("PHP Test: Text String", true);
// default is false: number is automagically appended
$ipp->setData("This is a text string");
echo "Print String: " . $ipp->printJob() . "</br />";
echo "Job Attributes:<pre>\n";