首页 > php语言开发的网站,如何实现批量打印快递单的功能?

php语言开发的网站,如何实现批量打印快递单的功能?

用php语言开发的商城系统,需要用到批量打印发货单、快递单的功能。 这个该怎么实现。
目前看到的办法就是使用浏览器自带的打印功能打印网页,将内容显示在网页上 然后打印,但是这样怎么保证打印出来的页面合理? 或者还有什么办法?


WEB直接打印可以用css来控制:
用于屏幕显示的css: <link rel="stylesheet" href="css/mainstylesheet.css" media="screen" />
用于打印的css:<link rel="stylesheet" href="css/printstylesheet.css" media="print" />

建议使用控件来弄,控制起来比较轻松.


用谷歌搜索出来的结果:

Windows:
PHP有一个叫Printer的Windows扩展,使用win32api调用系统打印机服务。
可以打印格式化的文档、报表,还可以画一些简单的图形,打印图片。
样例代码:

<?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);
?>

资料:http://phpstarter.net/2010/05/send-print-jobs-directly-from-php/

Unix/Linux:
可以使用system()函数调用lpr工具连接打印服务器来完成打印工作

<?php
system('lpr -P "Hp Deskjet" document.pdf');
?>

资料:http://linux.about.com/library/cmd/blcmdl1_lpr.htm

PHP生成PDF文件的扩展:http://www.php.net/manual/en/book.pdf.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 生成订单时就调一下接口生成下数据,然后打印。

最后,这种问题可能早就有商业打印软件解决了。只是我们不知道而已。

【热门文章】
【热门文章】