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

时间: 2024-11-08 19:02:24

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

android 4.4.3上面,联系人的头像默认显示首字母,但是不支持中文字符,修改支持中文

在android 4.4.3上面,联系人的头像默认显示首字母,但是不支持中文字符,如下图: 如果联系人名字的第一位是英文字符(a-z || A-Z),则默认头像将显示该首字母. 如果支持中文时显示第一个汉字,那就happy了. 那就看看如何通过修改源代码来实现这一小功能吧- 我们还是先了解下联系人头像加载的流程吧- 联系人头像加载这个问题还是很有意思的,在Contacts中使用ContactPhotoManager类(严格来讲是这个类的子类)来实现头像的异步加载. 这个类还使用了LruCache

[转载]tomcat的配置文件server.xml不支持中文注释的解决办法

原文链接:http://tjmljw.iteye.com/blog/1500370 启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错信息如下: -------------------------- 05-Dec-2016 20:17:01.903 WARNING [main] org.apache.catalina.startup.Catalina.load Catalina.start using conf/server.xm

tomcat的配置文件server.xml不支持中文注释的解决办法(转载)

早上启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错信息如下: -------------------------- 警告: Catalina.start using conf/server.xml: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效. ... ... --------

Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法

前言 我在实验进入linux系统启动xwindow server而不启动KDE GNOME等桌面系统时遇到的问题.只启动x server而不启动桌面系统,在xserver之上运行一个全屏的图形界面程序,这样就能实现该程序对显示器的独占,对一般用户来说他就不能在这台电脑上搞别的动作了,只能用这个程序.一些工业控制.超市收银等应用场景下都会有这样的需求,目前这些程序都运行在windows xp (embeded)之下,也有运行于dos的.由于windows xp太被大众熟悉了,结果这些软件便不能稳定

让pandoc输出pdf时支持中文

主机环境为:Ubuntu 12.04 LTS.对于RH系列,yum安装包的名称可能会有不同,不过yum联想能力比较强,应该不是问题. 安装pandoc,安装tex-live sudo apt-get install pandoc texlive 安装中文字体 可以用“fc-list"命令查看已安装字体.使用如下命令安装gnome中文字体. apt-get install apt-get install language-pack-gnome-zh* 如果有ttf文件,比如Windows的字体文件

JS导出PDF插件(支持中文、图片使用路径)

原文:JS导出PDF插件(支持中文.图片使用路径) 在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfmake,很好地解决了此问题.它的效果可以先到http://pdfmake.org/playground.html查看.在使用过程中,还发现图片的插入是相对繁琐的一件事. 针对这些问题,本文的主要内容可分为三部分: pdfmake的基本使用方法: 如何解决中文问题; 如何通过指定图片地址插入图片. pdfmake的基本使用方法 1.包含以下两个文件

Latex输出pdf支持中文那些事

今天闹腾了一上午,中午搞定了,如何成功将 .tex 文件输出成 .pdf 的时候支持中文,过程有点复杂,为什么呢,因为我还想学 Latex ,所以把所有的包就一次性搞好了. 首先是去下载并安装 Tex Live 2018 , 3.0+G: 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2018-20180414.iso 然后下载并安装 Tex Studio ,这就是一个前端,本来我想用VS

centos中文乱码修改字符编码使用centos支持中文

如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤 一.中文支持 安装中文语言包: 复制代码 代码如下: yum groupinstall chinese-support 修改字符编码配置,没有这个文件就创建它: 复制代码 代码如下: vim /etc/sysconfig/i18n 修改后内容如下: 复制代码 代码如下: LANG="zh_CN.GB18030″SUPPORTED="zh_CN.UTF-8:zh_CN

修改linux支持中文显示!

安装中文支持包后 编辑  /etc/sysconfig/i18n 将内容改为LANG="zh_CN.UTF-8"SYSFONT="latarcyrheb-sun16"SUPPORTED="zh_CN.UTF-8:zh_CN:zh" 修改linux支持中文显示!