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

简介: 虽然市场中不断有新的编程语言诞生,但不得不承认PHP在web开发领域仍一直占有很大份额,高效开发是他一直以来最大的一个优点,而且他的学习成本也较低,入门门槛较低,和Python一样是解释性语言,很多人都说他是世界上最好的语言。其实语言并没有好坏之分,只有是否适用,每门语言都有自己的优缺点,毕竟想要获得一样东西,总要放弃点什么,有舍有得,看自己怎么权衡,只要能解决问题就是好的,不管黑猫白猫抓到老鼠就是好猫。自从swoole的加持以及和GO语言的结合,也弥补语言本身的很多不足,慢慢缩小和其他语言之间的差距,不过还是有很长的路要走。--题外话

前言

之前见过很多都是使用js来进行打印的,这次分享个php的,这里只说下php的方法。需要的同学可以自己动手实现一下哦!


遇到的问题:


虽然市场中不断有新的编程语言诞生,但不得不承认PHP在web开发领域仍一直占有很大份额,高效开发是他一直以来最大的一个优点,而且他的学习成本也较低,入门门槛较低,和Python一样是解释性语言,很多人都说他是世界上最好的语言。其实语言并没有好坏之分,只有是否适用,每门语言都有自己的优缺点,毕竟想要获得一样东西,总要放弃点什么,有舍有得,看自己怎么权衡,只要能解决问题就是好的,不管黑猫白猫抓到老鼠就是好猫。自从swoole的加持以及和GO语言的结合,也弥补语言本身的很多不足,慢慢缩小和其他语言之间的差距,不过还是有很长的路要走。--题外话

回归正题,用php语言开发的商城系统,需要用到批量打印发货单、快递单的功能。这个该怎么实现。目前看到的大多办法基本都是使用浏览器自带的打印功能打印网页,或者通过JS将特定内容显示在网页上,或者显示在浏览器自带的打印窗口。然后通过浏览器自带的打印功能进行打印,但是这样怎么保证打印出来的页面合理?或者还有什么办法?因为通过浏览器打印在排版上不容易控制,有时候还会产生布局错位,我们曾经为了解决这个问题,就把要打印的内容按照特定格式设计好写进PDF,然后再打印,但是依然无法解决自动打单的效果。


然后就找到了使用windows系统接口,使用类似于桥接的方式调起打印机打印订单或者票据,方法如下:


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工具连接打印服务器来完成打印工作


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


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


实际用途
  • 客户下订单时,在发货中心自动打印装箱单/发票。
  • 在 Intranet 网站上,将所有公司打印机都配置在服务器端,这样用户就可以使用 Web 应用程序,而不必担心在他们的工作站上设置打印机。
  • 自动打印由 CLI PHP 脚本生成的报告


总结


说到底,最终还是需要通过pdf来解决排版的问题,下面介绍几款生成PDF的第三方库。

PHP生成PDF文件的扩展:

TCPDF官网获取最新版本:http://www.tcpdf.org

还可以根据个人喜好选择下面几个

  1. FPDF
  2. mPDF
  3. DOMPDF
  4. Snappy(wkhtmltopdf)

如果还需要生成其他文档,比如word,Excel(导数据常用)可以了解一下PHPOffice,后面会专门写一篇文章介绍这些库的使用和技巧

目录
相关文章
|
10月前
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
271 87
|
10月前
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
316 88
|
10月前
|
安全 编译器 PHP
PHP 8 新特性:现代开发的强力引擎
PHP 8 新特性:现代开发的强力引擎
277 89
|
10月前
|
安全 编译器 PHP
PHP 8 新特性:现代化开发的飞跃
PHP 8 新特性:现代化开发的飞跃
397 89
|
7月前
|
数据采集 人工智能 程序员
PHP 程序员如何为 AI 浏览器(如 ChatGPT Atlas)优化网站
OpenAI推出ChatGPT Atlas,标志AI浏览器新方向。虽未颠覆现有格局,但为开发者带来新机遇。PHP建站者需关注AI爬虫抓取特性,优化技术结构(如SSR、Schema标记)、提升内容可读性与语义清晰度,并考虑未来agent调用能力。通过robots.txt授权、结构化数据、内容集群与性能优化,提升网站在AI搜索中的可见性与引用机会,提前布局AI驱动的流量新格局。
392 8
|
10月前
|
安全 大数据 PHP
PHP 7+ 新特性实战指南:提升开发效率
PHP 7+ 新特性实战指南:提升开发效率
265 87
|
8月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
12月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
632 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
前端开发 PHP 开发者
Wordpress主题开发之index.php
本文介绍了 WordPress 主题开发中页面结构与模板文件的使用方法。通过 header.php、sidebar.php、footer.php 和 index.php 等模板文件,实现网站模块化设计,便于统一管理和代码重用。Header 部分包含 logo、导航条等;Content 展示主体内容;Side bar 显示推荐信息或广告;Footer 则呈现版权和备案信息等内容。文章还提供了各模板文件的具体代码示例,帮助开发者快速理解和应用 WordPress 模板机制。
324 9
|
API PHP 数据库
PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架
PhalApi 2.x 是一款专为接口开发设计的轻量级PHP框架,性能卓越且易于上手。它支持多协议、自动生成文档、提供多种客户端SDK,并采用现代化技术栈,适合中小型项目及微服务架构。通过清晰的分层架构和丰富的扩展库,开发者可快速构建高可用API。其日均超1000万次调用,广泛应用于移动App、物联网、电商等领域。官网:https://www.phalapi.net/,欢迎体验高效开发之旅!