*/ class Mage_Sales_Model_Order_Pdf_Items_Invoice_Default extends Mage_Sales_Model_Order_Pdf_Items_Abstract { /** * Draw item line * */ public function draw() { $order = $this->getOrder(); $item = $this->getItem(); $pdf = $this->getPdf(); $page = $this->getPage(); $y = $this->getY(); $lines = array(); $page->drawRectangle(60, $y, 570, $y-100); // draw Product name $lines[0] = array(array( 'text' => Mage::helper('core/string')->str_split($item->getName(), 60, true, true), 'feed' => 70 )); // draw SKU $lines[0][] = array( 'text' => Mage::helper('core/string')->str_split($this->getSku($item), 25), 'feed' => 260 ); // draw QTY $lines[0][] = array( 'text' => $item->getQty()*1, 'feed' => 390 ); // draw Price $lines[0][] = array( 'text' => $order->formatPriceTxt($item->getPrice()), 'feed' => 440, 'font' => 'bold', 'align' => 'right' ); // draw Tax $lines[0][] = array( 'text' => $order->formatPriceTxt($item->getTaxAmount()), 'feed' => 500, 'font' => 'bold', 'align' => 'right' ); // draw Subtotal $lines[0][] = array( 'text' => $order->formatPriceTxt($item->getRowTotal()), 'feed' => 540, 'font' => 'bold', 'align' => 'right' ); // custom options $options = $this->getItemOptions(); if ($options) { foreach ($options as $option) { // draw options label $lines[][] = array( 'text' => Mage::helper('core/string')->str_split(strip_tags($option['label']), 70, true, true), 'font' => 'italic', 'feed' => 70 ); if ($option['value']) { $_printValue = isset($option['print_value']) ? $option['print_value'] : strip_tags($option['value']); $values = explode(', ', $_printValue); foreach ($values as $value) { $lines[][] = array( 'text' => Mage::helper('core/string')->str_split($value, 50, true, true), 'feed' => 80 ); } } } } $lineBlock = array( 'lines' => $lines, 'height' => 10 ); $page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true)); $this->setPage($page); } }