Magento订单打印(pdf格式) pdf格式怎么打印

Magento订单打印(pdf格式)

Magento自身包含有:打印发票单,打印装箱单,打印退款单。这些都是基于西方国家的习惯来布置的。公司有个需求就是打印订单的四联单,PDF格式的,要一周内完成。刚接到这个任务时,觉得头大,因为对于PHP如何生成PDF文件,以及Magento的打印系统,都还是一无所知。另外这次是中文打印,这和Magento内置的英文订单打印有区别。

接下来就是分析代码。对于第一个问题:PHP如何生成PDF文件,方法就是利用Zend_Pdf库来实现;对于Zend_Pdf中文乱码的问题,也通过可爱的Google找到了解决办法;另外通过代码分析也熟悉了Magento内置的打印系统。由于经常开会和有其他的琐碎任务,又拖了几周后才开始动手编程,花了大概五天就完成了。先晒晒成熟的果实:

遇到的几个问题:

一、Magento打印中文PDF订单乱码。这个需要加载中文字体来解决。我采用的是楷体(simkai.ttf)和微软雅黑粗(msyhbd.ttf)字体,本来是想采用宋体的,发现Zend_Pdf对宋体的支持有点问题。微软雅黑字体也比较好看,就用她了。注:simkai.ttf和msyhbd.ttf在c:/windows/fonts/目录下可以找到。下面是建立中文字的代码:

1$fontyah=Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() .'/lib/ZhFont/msyhbd.ttf');
2$fontkai=Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() .'/lib/ZhFont/simkai.ttf');

二、绘制订单左上角公司Logo。这个需要用到Zend_Pdf_Image。瞧代码:

1$logofile=Mage::getBaseDir() .'/skin/frontend/default/default/images/print_logo.jpg';
2
3if($logofile){
4if(is_file($logofile)){
5$image=Zend_Pdf_Image::imageWithPath($image);
6$page->drawImage($image,25, 800, 125, 825);
7}
8}

三、绘制条形码。代码是在网上找到,稍加修改的。原理是利用PHP GD生成条形码图片,然后通过ZenddrawImage()绘制于订单上。代码比较复杂,略。

四、获取制单员工姓名。

1$user=Mage::getSingleton('admin/session')->getUser();
2$user_name=$user->getLastname().$user->getFirstname();

五、获取Magento订单支付方式,也比较复杂。调试了很久,才得到下面的代码,可能有点问题,但大部分时候能正常工作:

01$paymentInfo=Mage::helper('payment')->getInfoBlock($order->getPayment())
02->setIsSecureMode(true)
03->toPdf();
04
05$payment=explode('{{pdf_row_separator}}',$paymentInfo);
06
07foreach($paymentas$key=>$value){
08if(strip_tags(trim($value))==''){
09unset($payment[$key]);
10}
11}
12
13reset($payment);
14
15$payment=trim($payment[0]);

除去这几个问题有点难度,其他的都相对容易解决。功能完成后,制单客服MM的工作大大减轻。以前是手工在word模板上制作的,难免会出错。而且复制粘贴,特单调机械无聊,而且每人每天累的头晕只能制一百张单左右。现在几分钟之内上千张单立马OK。后来客服MM见到我就笑嘻嘻的。

Magento订单打印(pdf格式) pdf格式怎么打印

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/176872.html

更多阅读

qq邮箱格式怎么写 qq邮箱在qq里怎么找

qq邮箱格式怎么写——简介qq邮箱格式怎么写?我一朋友说要我帮他注册一个QQ邮箱,我就问他,你不是有QQ吗,怎么还要我注册QQ邮箱,他说不知道QQ邮箱是多少,其他有QQ就有QQ邮箱了,只要开通一下就可以了,那我就分享一下吧。qq邮箱格式怎么写——

excel套用表格格式怎么用 套用表格格式

excel套用表格格式怎么用——简介我们在编辑工作表的时候有时候会用到套用表格格式,那么这个套用表格格式是怎么用的呢?excel套用表格格式怎么用——工具/原料excel2007excel套用表格格式怎么用——方法/步骤excel套用表格格式怎么用

pdf文件怎么打开 pdf用什么软件打开 pdf用什么软件打开

?pdf是一种非常常用的电子文件格式,许多电子文档及电子书都使用pdf格式,并显示出了非常好的阅读效果。那么,pdf文件怎么打开呢?打开pdf文件的软件又有哪些呢????? 我们可以使用金山卫士“软件管理”功能方便地选择下载各种打开pdf文件

MP3格式怎么转换 酷我音乐怎么转换格式

MP3格式怎么转换——简介不知道MP3格式怎么转换,网络上提供下载的歌曲格式以MP3的居多,我们经常需要将MP3格式的转换成其它格式的,也要把其它格式的转换成MP3的,如wma转mp3格式转换、mp4转mp3格式转换、cda转mp3格式转换等等,那么MP3格式

电子邮箱地址格式怎么写 电子邮件营销范文

电子邮箱地址格式怎么写——简介电子邮箱是我们常用的通讯方式,那格式应该怎么写的,下面将图解邮箱格式写法电子邮箱地址格式怎么写——方法/步骤电子邮箱地址格式怎么写 1、—个完整

声明:《Magento订单打印(pdf格式) pdf格式怎么打印》为网友冰冷艳城分享!如侵犯到您的合法权益请联系我们删除