Ejemplo n.º 1
0
 /**
  * @param ZendPage $page
  * @param Text $element
  *
  * @throws \Exception
  */
 private function drawText(ZendPage $page, Text $element)
 {
     $fontStyle = $element->getFontStyle();
     $font = $this->getZendFont($fontStyle);
     $page->saveGS();
     if ($element->getRotation() > 0) {
         $page->rotate($element->getX(), $element->getY(), -$element->getRotation() / 180.0 * pi());
     }
     list($x, $y) = $this->computeTextPos($element, $font);
     $page->setFont($font, $fontStyle->getSize());
     $this->drawFormattedText($page, $font->encodeString($element->getText(), 'UTF-8'), $x, $y, $element);
     $page->restoreGS();
 }
Ejemplo n.º 2
0
 /**
  * @param SimpleXMLElement $svg
  * @param Text $element
  * @param float $yBase
  *
  * @return SimpleXMLElement
  */
 private function addText(SimpleXMLElement $svg, Text $element, $yBase)
 {
     $x = $element->getX();
     $y = $yBase - $element->getY();
     if ($element->getRotation() > 0) {
         $group = $svg->addChild('g');
         $group->addAttribute("transform", "translate({$x}, {$y}) rotate({$element->getRotation()})");
         $text = $group->addChild("text", $element->getText());
         $text->addAttribute("x", 0);
         $text->addAttribute("y", 0);
     } else {
         $text = $svg->addChild("text", $element->getText());
         $text->addAttribute("x", $x);
         $text->addAttribute("y", $y);
     }
     $this->addTextStyle($text, $element);
     return $text;
 }