开源进销存PSI - 关于打印

关于打印

有网友问我PSI中打印会怎么实现,这个问题既简单又复杂,所以就写一个博客来说说我的一些想法。

打印简单的解决方案

购买商业的组件

比如这个:http://www.lodop.net/index.html 价格也很便宜。

之所以说这种解决方法,不是说笑,也不是给上面的作者写软文。如果你的项目工期很紧张,不妨一试。

打印复杂的解决方案

从零开始,自己构建。

1、为什么要从零开始?

      PSI作为开源产品,希望是一个闭环的产品,所有的用户需求都能自给自足。基于开源现在的资源,其实也不是完全从零开始。即使如此,也还有很多的工作要做。

2、Excel打印

      在后台生成Excel文件,然后打印。

      PSI计划使用PHPExcel(http://phpexcel.codeplex.com/  )来实现这个功能。

3、PDF打印

     在后台生成PDF文件,然后打印。

     PSI计划使用PHPPDF(http://php.net/manual/en/book.pdf.php  )来实现这个功能。

方法2、3中关键的是要掌握这两个lib如何生成对应的文件,遗憾的是文档是英文,需要一定的英文基础,对我而言这两个lib都还从来没有使用过,所以得花点时间来熟悉。

文件生成后,用PHP的函数header把该文件发给浏览器。

参考:http://book.51cto.com/art/201112/307805.htm 

4、写一个Windows本地运行的程序来实现打印

      当有“套打”需求的时候,用这个来实现,几乎是最方便的。

所谓“套打”,就是单据大部分都印刷好了,打印的时候只需打印出变化部分的内容。常见的一个场景:打印快递单 。

写这样的套打程序,需要一定的基本功,因为现在很多程序员都没有开发过本地exe的程序了。

先讲讲技术选型。

4.1 C# WinForm

      用C#来写,语言稍简单,入门容易。

4.2 QT

       C++方案,反正我是头疼C++,但不排除试试看。

4.3 Delphi

       没错,古董级的开发语言了,我的最爱。以前工作中的套打就是用Delphi写的。

这里的关键技术点:

1、和PHP通信,这个简单:利用HTTP获得JSON数据,这是基础,不然就没有打印数据源头了。

2、对选中的语言中打印API的熟悉和使用。

3、套打设计器的开发。

都没有太多的难度,只有对API的熟悉度和工作量的问题,当然了,还有测试工作量。想想也是工作量蛮大的。



你可能感兴趣的:(开源进销存PSI - 关于打印)