php语言开发的网站,如何实现批量打印快递单的功能?
目前看到的办法就是使用浏览器自带的打印功能打印网页,将内容显示在网页上 然后打印,但是这样怎么保证打印出来的页面合理? 或者还有什么办法?
回复内容:
用php语言开发的商城系统,需要用到批量打印发货单、快递单的功能。 这个该怎么实现。
目前看到的办法就是使用浏览器自带的打印功能打印网页,将内容显示在网页上 然后打印,但是这样怎么保证打印出来的页面合理? 或者还有什么办法?
其实楼主真正想问的是如何把一堆数据打印到快件单上而不是手写。
- 如何打印到快件单上
可以去找一些店铺问问,比如你收到的快递不是手写的。
我刚查到的资料如下
http://h10025.www1.hp.com/ewfrf/wc/document?cc=cn&lc=zh-hans&dlc=zh-hans&docname=c00088990
http://office.abang.com/od/word/a/envelope.htm
我没有用过,但是你可以举一反三,打印信封可以,打印快递单也可以。其它的用途如打印不同姓名的通知单(Word 内应该有这个功能,微软早就给我们想好了)。
如果 Word 内没有打印快递单的功能,但是如果 Word 设计得够好的话,应该有制做模板的功能,你把信封的改改,改成快递单的格式。(有可能那些店铺的店主就有这种模板)
- 如何生成数据
可以看到,上边的教程里,Word 支持选择 Excel 做为数据源,那么做为 PHP 商城,只需要定时导出地址为 Excel 文件就可以了。然后让 Word 去打印。
- 如何自动化
看快递单的类型,通常快递单两边都有孔,这是直接支持针式打印机的,你摆弄摆弄应该就可以了。
@carl 的答案有 PHP 直接调打印机接口的,研究下怎么让 Word 打印。PHP 生成订单时就调一下接口生成下数据,然后打印。
最后,这种问题可能早就有商业打印软件解决了。只是我们不知道而已。
用谷歌搜索出来的结果:
Windows:
PHP有一个叫Printer的Windows扩展,使用win32api调用系统打印机服务。
可以打印格式化的文档、报表,还可以画一些简单的图形,打印图片。
样例代码:
资料:http://phpstarter.net/2010/05/send-print-jobs-directly-from-php/
Unix/Linux:
可以使用system()
函数调用lpr
工具连接打印服务器来完成打印工作
资料:http://linux.about.com/library/cmd/blcmdl1_lpr.htm
PHP生成PDF文件的扩展:http://www.php.net/manual/en/book.pdf.php
WEB直接打印可以用css来控制:
用于屏幕显示的css:
用于打印的css:
建议使用控件来弄,控制起来比较轻松.