zoukankan      html  css  js  c++  java
  • Magento打印(配送单、退款单、发票)时PDF中的乱码问题

    我使用Magento1.4.2,在其自带的TTF文件不能很好地解析中文字符,TTF文件的位置在网站根目录下的/lib/LinLibertineFont/中。打印的中文字符都是这样的

    解决方法:

    1.在Windows下复制一个MSYHBD.TTF(微软雅黑)至网站根目录下的/lib/LinLibertineFont/中

    2.修改appcodecoreMageSalesModelOrderPdfAbstract.php

    [php] view plaincopy
     
    1. protected function _setFontRegular($object, $size = 7)  
    2.    {  
    3.        //$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertineC_Re-2.8.0.ttf');注释掉这行  
    4.        $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/MSYHBD.TTF');  
    5.        $object->setFont($font, $size);  
    6.        return $font;  
    7.    }  
    8.   
    9.    protected function _setFontBold($object, $size = 7)  
    10.    {  
    11.       // $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf');注释掉这行  
    12.       $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/MSYHBD.TTF');  
    13.        $object->setFont($font, $size);  
    14.        return $font;  
    15.    }  
    16.   
    17.    protected function _setFontItalic($object, $size = 7)  
    18.    {  
    19.        //$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf');注释掉这行  
    20.        $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/MSYHBD.TTF');  
    21.        $object->setFont($font, $size);  
    22.        return $font;  
    23.    }  

    注:这里主要是讲解解决方法,实际修改请将上述方法写成插件的形式,不要破坏Magento的产品代码。

    原文:http://blog.csdn.net/liangpei2008/article/details/7574694

    Flag Counter
  • 相关阅读:
    [研究笔记]SPFA加上SLF时判负环的条件
    hdu 1290
    hdu 2135
    hdu 1978 how many way
    华中区全国程序设计邀请赛1003
    华中区程序设计大赛1010
    华中程序设计邀请赛1007
    华中区全国设计邀请赛1009
    hdu 2114的补充
    华中区全国设计邀请赛1004
  • 原文地址:https://www.cnblogs.com/sunsoftware/p/4526434.html
Copyright © 2011-2022 走看看