没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:王香|2016-12-22 10:09:16.000|阅读 2198 次
概述:寻找一个好的打印方法是各行各业迫切的需求,经过几番折腾,借道输出PDF,PHP抓取目标的HTML代码,然后输出到指定的解析器,再生成最终的打印格式,成为人们的终极选择。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
ERP系统进入尾声,各种送货单、退货单、合同、对账单等等一系列的东东排着队调打印格式。HTML5+CSS3已经这样流行,然则眼下,基于CSS3的打印控制,居然还处于原始部落阶段,Chrome、Firefox、Edge等连简单的@page都支持得不完善。经过一番折腾,终于找到好的解决方案,即借道输出PDF,PHP抓取目标的HTML代码,然后输出到指定的解析器,再生成最终的打印格式。
实际上,这个模式里:
于是打印问题迎刃而解。
本文推荐两个可用的类库:Prince和wkhtmltopdf。这两位都是跨平台系统支持,并且不需要内嵌于php,不需要有任何担心。这两货都需要在官网下载安装,如果是windows,记得安装的时候别放在C盘,不然会无法执行。
php调用:
Prince:下载他官方的这个类库:Prince for php。顺带说,Prince的类库里支持.net、Java、Python、Prel等等。
Snappy:这个是国外某开发者基于wkhtmltopdf的php composer扩展,直接在你项目中执行:composer require knplabs/knp-snappy,即可。Snappy github地址。
Prince和wkhtmltopdf,实际上就是一个html5+css3的解析器,并且是完整支持css3 @page部分的打印特性的功能。并且具备生成PDF的功能。其中Prince是收费的,但他提供免费使用License,美中不足的地方就是生成PDF预览时,第一页右上角会有一个P字的icon,不过在打印的时候就会消失掉。
两者比较,Prince对中文样式的支持更好(可能wkhtmltopdf是因为我的CSS写法有问题,没有针对@media print),修改中文字体,wkhtmltopdf还是会用默认的宋体输出,而Prince则是你指定的字体。
两者的调用代码都很简单。
Prince部分:
<?php require '../bootstrap.php'; $prince = new \xErp\Helper\Prince('D:\\prince\\prince-10r7-win64\\bin\\prince.exe'); header('Content-Type: application/pdf'); header('Content-Disposition: inline; filename="foo.pdf"'); $prince->convert_file_to_passthru('http://www.163.com');
Snappy部分:
<?php require '../bootstrap.php'; use Knp\Snappy\Pdf; $snappy = new Pdf('D:\xampp\wkhtmltopdf\bin\\wkhtmltopdf.exe'); header('Content-Type: application/pdf'); //header('Content-Disposition: attachment; filename="file.pdf"'); print $snappy->getOutput('http://www.163.com');
就是这样酸爽,再也不用怕客户改打印格式了,随便改吧,亲。
无图无真相,来个截图好了。
好像这样的页面,实际上是基于HTML生成的,调试只需调试HTML+CSS即可,截图如下:
用HTML+CSS调打印,基本上一个格式,最多不超过1个小时,基本上就能调完。这样后期,管你有多少分报表,我统一用http://erp/print/报名类型/报表ID.ext的url,.html就是请求普通的html输出,.pdf就是请求将html输出pdf,真是要多快有多快啊!
本文转自:https://www.oschina.net/
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
.NET应用UI框架DevExpress XAF v25.1即将在6月更新,新版本重点增强领域仍然是Blazor,欢迎加入社群及时获取最新信息!
Web测试工具Parasoft SOAtest让测试脚本的创建和复用变得简单高效,自动适应界面变化,实现数据驱动的零压力维护,同时确保跨浏览器测试的无缝执行,极大地降低了维护成本,提高了测试效率。
Parasoft Jtest作为一款强大的Java自动化测试工具,通过灵活的规则定制和统一标准管理,为团队提供了高效的代码规范与合规性检查解决方案。无论是应对行业标准还是企业特殊需求,它都能帮助开发者提升代码质量、降低风险,从而在复杂的开发环境中实现高效协作与稳定交付。
作为全球领先的三维图形开发平台,Tech Soft 3D提供的HOOPS产品套件已成为众多计算机辅助制造(CAM)软件的核心基础架构之一,并为其提供了高性能的数据解析、三维渲染与协作能力。
Solid Converter 是一款功能强大使用最多的PDF格式转换软件,用户能使用它将PDF转换为Word,Excel,Html,Text等格式。
Solid PDF Tools专业高级的PDF转换器,支持Word、Excel、PowerPoint、HTML和纯文本等内容。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号