Esempio n. 1
0
    /**
     * Dump style to a string, which can be directly inserted into content stream
     *
     * @return string
     */
    public function instructions()
    {
        $instructions = '';

        if ($this->_fillColor !== null) {
            $instructions .= $this->_fillColor->instructions(false);
        }

        if ($this->_color !== null) {
            $instructions .= $this->_color->instructions(true);
        }

        if ($this->_lineWidth !== null) {
            $instructions .= $this->_lineWidth->toString() . " w\n";
        }

        if ($this->_lineDashingPattern !== null) {
            require_once 'Zend/Pdf/Element/Array.php';
            $dashPattern = new Zend_Pdf_Element_Array();

            require_once 'Zend/Pdf/Element/Numeric.php';
            foreach ($this->_lineDashingPattern as $dashItem) {
                $dashElement = new Zend_Pdf_Element_Numeric($dashItem);
                $dashPattern->items[] = $dashElement;
            }

            $instructions .= $dashPattern->toString() . ' '
                           . $this->_lineDashingPhase->toString() . " d\n";
        }

        return $instructions;
    }
Esempio n. 2
0
 /**
  * Set line color.
  *
  * @param Zend_Pdf_Color $color
  * @return Zend_Pdf_Page
  */
 public function setLineColor(Zend_Pdf_Color $color)
 {
     $this->_addProcSet('PDF');
     $this->_contents .= $color->instructions(true);
     return $this;
 }
Esempio n. 3
0
 /**
  * Get color components (color space dependent)
  *
  * @return array
  */
 public function getComponents()
 {
     return $this->_color->getComponents();
 }
Esempio n. 4
0
 /**
  * Instructions, which can be directly inserted into content stream
  * to switch color.
  * Color set instructions differ for stroking and nonstroking operations.
  *
  * @param boolean $stroking
  * @return string
  */
 public function instructions($stroking)
 {
     return $this->_color->instructions($stroking);
 }