/** * Insert Notes * * @param Zend_Pdf_Page $page Current Page Object of Zend_PDF * @param Mage_Sales_Model_Order &$order order to get note from * @param Mage_Sales_Model_Abstract &$model invoice/shipment/creditmemo * * @return \Zend_Pdf_Page */ protected function _insertNote($page, &$order, &$model) { $fontSize = 10; $font = $this->_setFontRegular($page, $fontSize); $this->y = $this->y - 60; $notes = array(); $result = new Varien_Object(); $result->setNotes($notes); Mage::dispatchEvent('firegento_pdf_' . $this->getMode() . '_insert_note', array('order' => $order, $this->getMode() => $model, 'result' => $result)); $notes = array_merge($notes, $result->getNotes()); // Get free text notes. $note = Mage::getStoreConfig('sales_pdf/' . $this->getMode() . '/note'); if (!empty($note)) { $tmpNotes = explode("\n", $note); $notes = array_merge($notes, $tmpNotes); } // Draw notes on PDF. foreach ($notes as $note) { // prepare the text so that it fits to the paper foreach ($this->_prepareText($note, $page, $font, 10) as $tmpNote) { // create a new page if necessary if ($this->y < 50 || Mage::getStoreConfig('sales_pdf/firegento_pdf/show_footer') == 1 && $this->y < 100) { $page = $this->newPage(array()); $this->y = $this->y - 60; $font = $this->_setFontRegular($page, $fontSize); } $page->drawText($tmpNote, $this->margin['left'], $this->y + 30, $this->encoding); $this->Ln(15); } } return $page; }