Mike42\Escpos\Printer::getPrinterCapabilityProfile PHP Method

getPrinterCapabilityProfile() public method

public getPrinterCapabilityProfile ( ) : CapabilityProfile
return CapabilityProfile
    public function getPrinterCapabilityProfile()
    {
        return $this->profile;
    }

Usage Example

 /**
  * Based on the printer's connector, compute (or load a cached copy of) maps
  * of UTF character to unicode characters for later use.
  */
 private function loadAvailableCharacters()
 {
     $profile = $this->printer->getPrinterCapabilityProfile();
     $supportedCodePages = $profile->getCodePages();
     $profileName = $profile->getId();
     $cacheFile = dirname(__FILE__) . "/cache/Characters-" . $profileName . ".ser" . (self::COMPRESS_CACHE ? ".z" : "");
     $cacheKey = $profile->getCodePageCacheKey();
     /* Check for pre-generated file */
     if (file_exists($cacheFile)) {
         $cacheData = file_get_contents($cacheFile);
         if (self::COMPRESS_CACHE) {
             $cacheData = gzuncompress($cacheData);
         }
         if ($cacheData) {
             $dataArray = unserialize($cacheData);
             if (isset($dataArray["key"]) && isset($dataArray["available"]) && isset($dataArray["encode"]) && $dataArray["key"] == $cacheKey) {
                 $this->available = $dataArray["available"];
                 $this->encode = $dataArray["encode"];
                 return;
             }
         }
     }
     /* Generate conversion tables */
     $encode = array();
     $available = array();
     foreach ($supportedCodePages as $num => $codePage) {
         $encode[$num] = array();
         if (!$codePage->isEncodable()) {
             continue;
         }
         $map = $codePage->getData();
         for ($char = 128; $char <= 255; $char++) {
             $utf8 = mb_substr($map, $char - 128, 1, self::INPUT_ENCODING);
             if ($utf8 == " ") {
                 // Skip placeholders
                 continue;
             }
             if (!isset($available[$utf8])) {
                 $available[$utf8] = array();
             }
             $available[$utf8][$num] = true;
             $encode[$num][$utf8] = chr($char);
         }
     }
     /* Use generated data */
     $dataArray = array("available" => $available, "encode" => $encode, "key" => $cacheKey);
     $this->available = $dataArray["available"];
     $this->encode = $dataArray["encode"];
     $cacheData = serialize($dataArray);
     if (self::COMPRESS_CACHE) {
         $cacheData = gzcompress($cacheData);
     }
     /* Attempt to cache, but don't worry if we can't */
     @file_put_contents($cacheFile, $cacheData);
 }