示例#1
0
 /**
  * Generate a page screenshot.
  *
  * @param integer $pageId
  * @param array $tokens
  * @return array | false
  */
 protected function _generate($templateId, $tokens = array())
 {
     if (!$tokens) {
         $tokens = array();
     }
     $pdfName = md5($templateId . '_' . serialize($tokens));
     $template = new Object_PdfTemplate($templateId);
     if (!$template->getId()) {
         return false;
     }
     if (!$template->getPreviewLink()) {
         return false;
     }
     // Generate the GET URL with tokens
     $tokenUrl = 'tokens=' . urlencode(Zend_Json::encode($tokens));
     $captureImage = $this->getAdapter()->setWorkingDir($template->getFolderPath())->capture(Functions_Common::hostUrl() . $template->getPreviewLink() . '?' . $tokenUrl, $pdfName . '.pdf', array('delay' => self::$defaultDelay, 'isPdf' => true));
     // Turn this into a pdf
     /*$pdf = new Zend_Pdf();
       $pdfImage = Zend_Pdf_Image::imageWithPath($captureImage);
       $pdfPage = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE);
       $pdfPage->drawImage($pdfImage, 20, 20, $pdfPage->getWidth() - 20, $pdfPage->getHeight() - 20);
       $pdf->pages[] = $pdfPage;
       $path = $this->_rootPath . DS . $pdfName . '.pdf';
       $pdf->save($path);*/
     return $pdfName;
 }