Example #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();
 }
Example #2
0
 public function testPageDuplicating()
 {
     $pdf = Pdf\PdfDocument::load(__DIR__ . '/_files/pdfarchiving.pdf');
     $srcPageCount = count($pdf->pages);
     $outputPageSet = array();
     foreach ($pdf->pages as $srcPage) {
         $page = new Pdf\Page($srcPage);
         $outputPageSet[] = $srcPage;
         $outputPageSet[] = $page;
         $page->saveGS();
         // Create new Style
         $page->setFillColor(new Color\Rgb(0, 0, 0.9))->setLineColor(new Color\GrayScale(0.2))->setLineWidth(3)->setLineDashingPattern(array(3, 2, 3, 4), 1.6)->setFont(Pdf\Font::fontWithName(Pdf\Font::FONT_HELVETICA_BOLD), 32);
         $page->rotate(0, 0, M_PI_2 / 3);
         $page->drawText('Modified by Zend Framework!', 150, 0);
         $page->restoreGS();
     }
     // Add new page generated by Zend_PDF object (page is attached to the specified the document)
     $pdf->pages = $outputPageSet;
     $pdf->save(__DIR__ . '/_files/output.pdf');
     unset($pdf);
     $pdf1 = Pdf\PdfDocument::load(__DIR__ . '/_files/output.pdf');
     $this->assertTrue($pdf1 instanceof Pdf\PdfDocument);
     $this->assertEquals($srcPageCount * 2, count($pdf1->pages));
     unset($pdf1);
     unlink(__DIR__ . '/_files/output.pdf');
 }