web端浏览器实现直接打印经验分享(带实例源码)

       做ERP的时候遇到个报表设计以及打印功能实现,客户的需求大致是:客户端电脑可以直接修改报表模板,点击打印按钮直接调用默认打印机打出报表。免去预览以及打印机设置如设置纸张大小,页眉之类。。。因为客户需要连续多次打印,如果有预览及打印设置,多点几次按钮,还要关闭预览页面,非常嫌麻烦。

       实际开发中,第一步就是找个合适的报表控件。

1、 原来我们公司封装了一个很老的fastreport版本,可以实现直接打印以及客户端电脑设计报表格式,但是没有条形码。

2、同事说以前用过锐浪报表,可以直接打印,也可以设计,但是免费版有水印,虽然打印的时候并不会有,但是心里的疙瘩不爽,注册版太贵要一万多,而且还需要在客户端电脑装插件。所以再尝试下,有没有别的更好的吧~

3、我把最新的fastreport嵌入系统中,无需安装插件,只要调用几个DLL就可以实现打印,可以在服务器电脑设计模板,有条形码二维码。但是无法直接打印,但是官网提供了一个思路,先保存为PDF再进行打印~嫌麻烦暂时不考虑这一方式,所以我继续寻找,看能不能通过JS直接把网页内容直接打印出来,再结合已完成的fastreport搞定需求,理论上好像可行?实际上问题蛮多

 3.1 网上一搜js直接打印,全是WebBrowser.ExecWB(6,6),只能兼容IE就算了,我在本地试了N次都逃脱不了打印机设置这一步骤。代码如下,那些安全设置什么的也是OK,我也懒得纠结了,只兼容IE的方法我也看不上眼。

3.2 似乎谷歌浏览器可以改个设置,完美实现,然后尝试了一下,果然可以,这个方案做备用,因为我们给客户部署ERP默认都叫他们使用谷歌浏览器。具体方式:右键谷歌浏览器快捷方式,选【属性】-【快捷方式】-【目标】-在目标最后加上一段“ --kiosk-printing”(复制我引号里的内容,注意开始的空格也要复制)。然后调用上图window.print();方法就好了。

玩到这里,内心其实还是觉得不够好,抽时间,再去试试看能不能在系统里写个调用打印机直接打印PDF的功能整合fastreport实现~未完待续。。。欢迎讨论,实例地址https://download.csdn.net/download/zhangxiaoyu138/10916348

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
由于基于web的学生管理系统的实现需要前后联合实现,因此在此提供一个前后代码实现实现基于web的学生管理系统的实例,该实例使用了Spring Boot、MyBatis、Vue等技术栈实现。 前实现: 1. 界面设计:使用Vue、Element UI等技术实现学生管理系统的前界面。 2. 交互实现:使用Vue、Axios等技术实现学生管理系统的前交互功能,例如登录、查询、添加、删除、修改等操作。 具体代码实现可以参考以下GitHub项目: - 前项目地址:https://github.com/helloworlde/student-management-front-end - 博客教程:https://helloworlde.github.io/2020/09/28/student-management-front-end/ 后实现: 1. 数据库设计:使用MySQL数据库存储学生信息、课程信息、成绩信息等。 2. 数据库操作:使用MyBatis实现学生信息、课程信息、成绩信息等的增删改查操作。 3. 接口设计:使用Spring Boot实现学生管理系统的后接口,用于响应前请求和处理数据。 4. 业务逻辑处理:使用Java编程语言实现学生管理系统的业务逻辑处理,例如登录、查询、添加、删除、修改等操作。 具体代码实现可以参考以下GitHub项目: - 后项目地址:https://github.com/helloworlde/student-management-back-end - 博客教程:https://helloworlde.github.io/2020/09/23/student-management-back-end/ 以上是一个基于Spring Boot、MyBatis、Vue等技术栈实现的学生管理系统的前后代码实现示例,具体实现过程中还需根据需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值