Here I can change the file app / code / core / mage / Sales / Model / Order / Pdf / Abstract.php, Replace the code below,
protected function insertOrder(&$page, $obj, $putOrderId = true)
{
if ($obj instanceof Mage_Sales_Model_Order) {
$shipment = null;
$order = $obj;
} elseif ($obj instanceof Mage_Sales_Model_Order_Shipment) {
$shipment = $obj;
$order = $shipment->getOrder();
}
$this->y = $this->y ? $this->y : 815;
$top = $this->y;
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0.45));
$page->setLineColor(new Zend_Pdf_Color_GrayScale(0.45));
$page->drawRectangle(25, $top, 570, $top - 55);
$page->setFillColor(new Zend_Pdf_Color_GrayScale(1));
$this->setDocHeaderCoordinates(array(25, $top, 570, $top - 55));
$this->_setFontRegular($page, 10);
if ($putOrderId) {
$page->drawText(
Mage::helper('sales')->__('Order # ') . $order->getRealOrderId(), 35, ($top -= 30), 'UTF-8'
);
}
$page->drawText(
Mage::helper('sales')->__('Order Date: ') . Mage::helper('core')->formatDate(
$order->getCreatedAtStoreDate(), 'medium', false
),
35,
($top -= 15),
'UTF-8'
);
$top -= 10;
$page->setFillColor(new Zend_Pdf_Color_Rgb(0.93, 0.92, 0.92));
$page->setLineColor(new Zend_Pdf_Color_GrayScale(0.5));
$page->setLineWidth(0.5);
$page->drawRectangle(25, $top, 275, ($top - 25));
$page->drawRectangle(275, $top, 570, ($top - 25));
$billingAddress = $this->_formatAddress($order->getBillingAddress()->format('pdf'));
$paymentInfo = Mage::helper('payment')->getInfoBlock($order->getPayment())
->setIsSecureMode(true)
->toPdf();
$paymentInfo = htmlspecialchars_decode($paymentInfo, ENT_QUOTES);
$payment = explode('{{pdf_row_separator}}', $paymentInfo);
foreach ($payment as $key=>$value){
if (strip_tags(trim($value)) == '') {
unset($payment[$key]);
}
}
reset($payment);
if (!$order->getIsVirtual()) {
$shippingAddress = $this->_formatAddress($order->getShippingAddress()->format('pdf'));
$shippingMethod = $order->getShippingDescription();
}
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0));
$this->_setFontBold($page, 12);
$page->drawText(Mage::helper('sales')->__('Sold to:'), 35, ($top - 15), 'UTF-8');
if (!$order->getIsVirtual()) {
$page->drawText(Mage::helper('sales')->__('Ship to:'), 285, ($top - 15), 'UTF-8');
}
$addressesHeight = $this->_calcAddressHeight($billingAddress);
if (isset($shippingAddress)) {
$addressesHeight = max($addressesHeight, $this->_calcAddressHeight($shippingAddress));
}
$page->setFillColor(new Zend_Pdf_Color_GrayScale(1));
$page->drawRectangle(25, ($top - 25), 570, $top - 33 - $addressesHeight);
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0));
$this->_setFontRegular($page, 10);
$this->y = $top - 40;
$addressesStartY = $this->y;
foreach ($billingAddress as $value){
if ($value !== '') {
$text = array();
foreach (Mage::helper('core/string')->str_split($value, 45, true, true) as $_value) {
$text[] = $_value;
}
foreach ($text as $part) {
$page->drawText(strip_tags(ltrim($part)), 35, $this->y, 'UTF-8');
$this->y -= 15;
}
}
}
$addressesEndY = $this->y;
if (!$order->getIsVirtual()) {
$this->y = $addressesStartY;
foreach ($shippingAddress as $value){
if ($value!=='') {
$text = array();
foreach (Mage::helper('core/string')->str_split($value, 45, true, true) as $_value) {
$text[] = $_value;
}
foreach ($text as $part) {
$page->drawText(strip_tags(ltrim($part)), 285, $this->y, 'UTF-8');
$this->y -= 15;
}
}
}
$addressesEndY = min($addressesEndY, $this->y);
$this->y = $addressesEndY;
$this->y -= 15;
$this->_setFontBold($page, 12);
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0));
$this->y -=10;
$page->setFillColor(new Zend_Pdf_Color_GrayScale(1));
$this->_setFontRegular($page, 10);
$page->setFillColor(new Zend_Pdf_Color_GrayScale(0));
$paymentLeft = 35;
$yPayments = $this->y - 15;
}
else {
$yPayments = $addressesStartY;
$paymentLeft = 285;
}
if ($order->getIsVirtual()) {
$yPayments = min($addressesEndY, $yPayments);
$page->drawLine(25, ($top - 25), 25, $yPayments);
$page->drawLine(570, ($top - 25), 570, $yPayments);
$page->drawLine(25, $yPayments, 570, $yPayments);
$this->y = $yPayments - 15;
$topMargin = 15;
$methodStartY = $this->y;
$this->y -= 15;
$yShipments = $this->y;
$currentY = min($yPayments, $yShipments);
$page->drawLine(25, $methodStartY, 25, $currentY);
$page->drawLine(25, $currentY, 570, $currentY);
$page->drawLine(570, $currentY, 570, $methodStartY);
$this->y = $currentY;
$this->y -= 15;
}
}