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; }
/** * Return list of available printers * * @return array list of printers */ function getlist_available_printers() { global $conf, $db; include_once DOL_DOCUMENT_ROOT . '/includes/printipp/CupsPrintIPP.php'; $ipp = new CupsPrintIPP(); $ipp->setLog(DOL_DATA_ROOT . '/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->getPrinters(); return $ipp->available_printers; }
if (is_object($value)) if ($key != 'printer_state_time') printf("%s: %s<br />",$key,$value->_value0); else printf("%s: %s<br />",$key,date('Y-m-d H:i:s',$value->_value0)); $idx_key = "_key". ($key + 1); } $idx_histo = '_indice'. ($idx + 1); } echo "<br /><br /><br />\n"; */ /* getting printers (vendor extention) (currently CUPS only)*/ echo "<br /><br /><br /> TEST 31<br />"; echo "OPERATION " . $j++ . "<br />"; echo "Available printers [CUPS EXTENTION]:<pre>"; echo $ipp->getPrinters() . "\n"; // there is an alias "cupsGetPrinters" for CUPS. print_r($ipp->available_printers); echo "</pre>"; echo "Printers's attributes<pre>\n"; print_r($ipp->printers_attributes); echo "</pre>\n"; for ($i = 0; $i < count($ipp->available_printers); $i++) { $ipp->setPrinterURI($ipp->available_printers[$i]); echo "OPERATION " . $j++ . "<br />"; $ipp->getPrinterAttributes(); echo "Printer attributes for printer {$i}:<pre>\n"; print_r($ipp->printer_attributes); echo "</pre>"; if (isset($ipp->printer_attributes->printer_type->_value2) && $ipp->printer_attributes->printer_type->_value2 == 'print-black') { echo "The printer can print black<br />\n";