Exemplo 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;
    }
Exemplo n.º 2
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->_c->toString() . ' '
          . $this->_m->toString() . ' '
          . $this->_y->toString() . ' '
          . $this->_k->toString() .     ($stroking? " K\n" : " k\n");
 }
Exemplo n.º 3
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->_grayLevel->toString() . ($stroking ? " G\n" : " g\n");
 }
Exemplo 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->_r->toString() . ' ' . $this->_g->toString() . ' ' . $this->_b->toString() . ($stroking ? " RG\n" : " rg\n");
 }
Exemplo n.º 5
0
 /**
  * Translate coordination system.
  *
  * @param float $x  - the X co-ordinate of axis skew point
  * @param float $y  - the Y co-ordinate of axis skew point
  * @param float $xAngle - X axis skew angle
  * @param float $yAngle - Y axis skew angle
  * @return Zend_Pdf_Page
  */
 public function skew($x, $y, $xAngle, $yAngle)
 {
     $tanXObj = new Zend_Pdf_Element_Numeric(tan($xAngle));
     $tanYObj = new Zend_Pdf_Element_Numeric(-tan($yAngle));
     $xObj = new Zend_Pdf_Element_Numeric($x);
     $yObj = new Zend_Pdf_Element_Numeric($y);
     $mXObj = new Zend_Pdf_Element_Numeric(-$x);
     $mYObj = new Zend_Pdf_Element_Numeric(-$y);
     $this->_addProcSet('PDF');
     $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n" . '1 ' . $tanXObj->toString() . ' ' . $tanYObj->toString() . " 1 0 0 cm\n" . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n";
     return $this;
 }
Exemplo n.º 6
0
 /**
  * Rotate the page.
  *
  * @param float $angle
  */
 public function rotate($x, $y, $angle)
 {
     $cos = new Zend_Pdf_Element_Numeric(cos($angle));
     $sin = new Zend_Pdf_Element_Numeric(sin($angle));
     $mSin = new Zend_Pdf_Element_Numeric(-$sin->value);
     $xObj = new Zend_Pdf_Element_Numeric($x);
     $yObj = new Zend_Pdf_Element_Numeric($y);
     $mXObj = new Zend_Pdf_Element_Numeric(-$x);
     $mYObj = new Zend_Pdf_Element_Numeric(-$y);
     $this->_addProcSet('PDF');
     $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n" . $cos->toString() . ' ' . $sin->toString() . ' ' . $mSin->toString() . ' ' . $cos->toString() . " 0 0 cm\n" . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n";
 }
Exemplo n.º 7
0
 public function testToStringFloat3()
 {
     $intObj = new Zend_Pdf_Element_Numeric(-100.426);
     $this->assertEquals($intObj->toString(), '-100.426');
 }
Exemplo n.º 8
0
 public function testGetType()
 {
     $intObj = new Zend_Pdf_Element_Numeric(100);
     $obj = new Zend_Pdf_Element_Object($intObj, 1, 0, new Zend_Pdf_ElementFactory(1));
     $this->assertEquals($obj->getType(), $intObj->getType());
 }