zoukankan      html  css  js  c++  java
  • Magento PDF发票,支持中文,以及修改的办法

    Magento PDF发票,支持中文,以及修改的办法.

     

    如果让magento的PDF发票支持中文.Magento生成PDF发票.使用的是zend framework的zend_pdf类.

    下面是一个简单的,使用zend framework生成pdf文件的用法.[code]<?php
    ...
    // 创建一个新的PDF文档.
    $pdf1 = new Zend_Pdf();

    // 加载一个现有的PDF文件.
    $pdf2 = Zend_Pdf::load($fileName);

    // 从字符串加载并生成PDF文件.
    $pdf3 = Zend_Pdf::parse($pdfString);[/code]okay..非常简单吧..
    我们先来看如果让magento的PDF支持中文.
    首先,我们要明白.Magento为什么不支持中文.. 其实zendcart还有joomla都存在这个问题.
    是因为这些程序中,使用的文字库并不支持中文.so,我们只需要替换掉就可以了.

    此类文件在这里:app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php
    找到如下的代码:[code] protected function _setFontRegular($object, $size = 7)
     

    {
    $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertineC_Re-2.8.0.ttf');
    $object->setFont($font, $size);
    return $font;
    }

    protected function _setFontBold($object, $size = 7)
    {
    $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf');
    $object->setFont($font, $size);
    return $font;
    }

    protected function _setFontItalic($object, $size = 7)
    {
    $font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf');
    $object->setFont($font, $size);
    return $font;


    }[/code]okay..看到这里大家就知道怎么修改了吧..
    只需要把字体的库文件替换一下就ok.

    .说一下要实现的效果.
    因为默认的pdf上,是没有store的名字或者域名的.
    客户想在pdf上加上本网站的域名.这样好做区分.

    先说个简单的办法.

    我们打开:app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php.然后把这段代码加到[code]$page->drawText(Mage::helper('sales')->__('Website : ') . "你网站的域名", 400, 780, 'UTF-8');[/code][code]$page->drawText(Mage::helper('sales')->__('Invoice # ') . $invoice->getIncrementId(), 35, 780, 'UTF-8');[/code]的下面.
    就可以了..
    当然,如果觉得位置不够好.只需要修改一下坐标$page->drawText(Mage::helper('sales')->__('Website : ') . "你网站的域名", [color=Red]400[/color], [color=Red]780[/color], 'UTF-8');
     

    http://www.zencart-cn.com/zencart-cn-news/article-a-5689.html

    Flag Counter
  • 相关阅读:
    【洛谷 P4166】 [SCOI2007]最大土地面积(凸包,旋转卡壳)
    专题
    【洛谷 P3299】 [SDOI2013]保护出题人 (凸包,三分,斜率优化)
    【洛谷 P3628】 [APIO2010]特别行动队 (斜率优化)
    $POJ1995$ $Raising$ $Modulo$ $Numbers$
    快速运算模板(未完待续)
    $Luogu$ $P1879$ $[USACO06NOV]$ 玉米田 $Corn Fields$
    [转载] $AT2444$ 题解
    [转载] $CF117B$ 题解
    [转载] $CF543B$ 题解
  • 原文地址:https://www.cnblogs.com/sunsoftware/p/3982740.html
Copyright © 2011-2022 走看看