Maison > Article > développement back-end > php语言开发的网站,如何实现批量打印快递单的功能?
用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调用系统打印机服务。
可以打印格式化的文档、报表,还可以画一些简单的图形,打印图片。
样例代码:
<code><?php /* get the sample text */ $lipsum = file_get_contents('lipsum.txt'); /* open a connection to the printer */ $printer = printer_open("Lexmark X850e XL V"); /* write the text to the print job */ printer_write($printer, $lipsum); /* close the connection */ printer_close($printer); ?> </code>
资料:http://phpstarter.net/2010/05/send-print-jobs-directly-from-php/
Unix/Linux:
可以使用system()
函数调用lpr
工具连接打印服务器来完成打印工作
<code><?php system('lpr -P "Hp Deskjet" document.pdf'); ?> </code>
资料:http://linux.about.com/library/cmd/blcmdl1_lpr.htm
PHP生成PDF文件的扩展:http://www.php.net/manual/en/book.pdf.php
WEB直接打印可以用css来控制:
用于屏幕显示的css:
用于打印的css:
建议使用控件来弄,控制起来比较轻松.