/** * Creates a Zend_Pdf_Color object from the HTML representation. * * @param string $color May either be a hexidecimal number of the form * #rrggbb or one of the 140 well-known names (black, white, blue, etc.) * @return Zend_Pdf_Color */ public static function color($color) { $pattern = '/^#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})$/'; if (preg_match($pattern, $color, $matches)) { $r = round(hexdec($matches[1]) / 255, 3); $g = round(hexdec($matches[2]) / 255, 3); $b = round(hexdec($matches[3]) / 255, 3); if ($r == $g && $g == $b) { return new Zend_Pdf_Color_GrayScale($r); } else { return new Zend_Pdf_Color_RGB($r, $g, $b); } } else { return Zend_Pdf_Color_HTML::namedColor($color); } }
$page->saveGS(); $page->clipCircle(550, -10, 50); $page->drawImage($stampImage, 500, -60, 600, 40); $page->restoreGS(); $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[] = $page1 = $pdf->newPage('A4'); // Add new page generated by Zend_Pdf_Page object (page is not attached to the document) $pdf->pages[] = $page2 = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE); // Create new font $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA); // Apply font and draw text $page1->setFont($font, 36); $page1->setFillColor(Zend_Pdf_Color_HTML::color('#9999cc')); $page1->drawText('Helvetica 36 text string', 60, 500); // Use font object for another page $page2->setFont($font, 24); $page2->drawText('Helvetica 24 text string', 60, 500); // Use another font $page2->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES), 32); $page2->drawText('Times-Roman 32 text string', 60, 450); // Draw rectangle $page2->setFillColor(new Zend_Pdf_Color_GrayScale(0.8)); $page2->setLineColor(new Zend_Pdf_Color_GrayScale(0.2)); $page2->setLineDashingPattern(array(3, 2, 3, 4), 1.6); $page2->drawRectangle(60, 400, 400, 350); // Draw circle $page2->setLineDashingPattern(Zend_Pdf_Page::LINE_DASHING_SOLID); $page2->setFillColor(new Zend_Pdf_Color_RGB(1, 0, 0));