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

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

WBOY
WBOYOriginal
2016-06-06 20:46:082118browse

用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:

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn