Display Attributes on Invoice or Packing Slip in Magento
Add this to Mage/Sales/Model/Order/Pdf/Items/Invoice/Default.php
, replace ATTRNAME
as appropriate.
public function draw()
{
...
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $this->getSku($item), array('ATTRNAME'));
if ($product) {
$lines[0][] = array(
'text' => Mage::helper('core/string')->str_split($product->getData('ATTRNAME'), 15),
'feed' => 305
);
}
Then add this to Mage/Sales/Model/Order/Pdf/Invoice.php
, replace ATTR_TITLE
as appropriate and OFFSET with the left offset.
/* Add table head */
...
$page->drawText(Mage::helper('sales')->__('ATTR_TITLE'), OFFSET, $this->y, 'UTF-8');
if (!empty($settings['table_header'])) {
...
$page->drawText(Mage::helper('sales')->__('ATTR_TITLE'), OFFSET, $this->y, 'UTF-8');
There is no definitive solution as you need to change a few other details to limit column widths in other areas depending on where you are trying to put your values (ie. description is usually made narrower and forced to line-wrap).