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,后面会专门写一篇文章介绍这些库的使用和技巧

目录
打赏
0
0
0
0
60
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
143 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
Wordpress主题开发之index.php
本文介绍了 WordPress 主题开发中页面结构与模板文件的使用方法。通过 header.php、sidebar.php、footer.php 和 index.php 等模板文件,实现网站模块化设计,便于统一管理和代码重用。Header 部分包含 logo、导航条等;Content 展示主体内容;Side bar 显示推荐信息或广告;Footer 则呈现版权和备案信息等内容。文章还提供了各模板文件的具体代码示例,帮助开发者快速理解和应用 WordPress 模板机制。
PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架
PhalApi 2.x 是一款专为接口开发设计的轻量级PHP框架,性能卓越且易于上手。它支持多协议、自动生成文档、提供多种客户端SDK,并采用现代化技术栈,适合中小型项目及微服务架构。通过清晰的分层架构和丰富的扩展库,开发者可快速构建高可用API。其日均超1000万次调用,广泛应用于移动App、物联网、电商等领域。官网:https://www.phalapi.net/,欢迎体验高效开发之旅!
PHP外链网盘系统网站源码
> 本文将详细介绍如何从零构建一个基于PHP和MySQL的文件管理系统,分解项目代码并剖析每个模块的功能。我们将以`index.php`、`config.php`和`api.php`这三个核心文件为例,详细展示如何设计文件列表、数据库配置和文件上传接口,从而实现一个完整的文件管理系统。该文章可以作为学术研究和代码实现的参考。
293 98
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
免登录游客卡密发放系统PHP网站源码
这是一个简单易用的卡密验证系统,主要功能包括: 卡密管理和验证,多模板支持,响应式设计,验证码保护,防刷机制,简洁的用户界面, 支持自定义模板,移动端优化,安全性保护,易于部署和维护。
262 77
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
2月前
|
PHP
2025简约的打赏系统PHP网站源码
2025简约的打赏系统PHP网站源码
87 20
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
160 58
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等