web打印的最佳方案

  • web打印的痛点
    • 新的解决方案
    • 方案web页面实现源代码,源码
    • 打印伺服器demo及原理

web打印的痛点

winform打印的方案比较多,实现也比较容易,而且效果也非常炫;但现在越来越多的系统是web系统,甚至是移动端。网上也有非常的web打印方案,但各式各样的问题非常多,比如js兼容性,稳定性等一直缠绕着众多的程序员,或者就是web 打印需要浏览器安装 ActiveX 组件,ActiveX安装不容易成功等等问题。Lodop等插件还是收费的。

新的解决方案

对各种方案分析之后,对web在重业务场景的打印需求(比如直接打印,无预览直接打印,特定格式打印)梳理之后,确定了一个生产环节最佳的WEB打印方案,纯JS通过post提交数据到打印伺服器的方案。

  1. js可以脱离语言环境更通用,不管你是java,还是php,甚至只是个前端都毫无障碍;
  2. 使用http协议 psot模式更简单,门槛更低,几行代码搞定;其实使用webSocket协议也可以,但是在不需要长连接的情况下没有必要。

方案web页面实现源代码,源码

<html>
<head>
<title>宇田web打印demo</title>
<meta http-equiv="content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<script>
function webprint(){ var key1=document.getElementById('key1').value;var key2=document.getElementById('key2').value;var params = {"key1":key1,"key2":key2}; httpPost("http://127.0.0.1:6555",params);
}
function httpPost(URL,PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea"); opt.name = x; opt.value = PARAMS[x]; temp.appendChild(opt); } document.body.appendChild(temp); temp.submit(); return temp; }
</script>
宇田web打印demo<br>
webprint demo
<input  style="width:160px" id="key1">
<input style="width:160px" id="key2" >
<input type="button" id="button" value="打印" onclick="webprint()" />
</body>
</html>

打印伺服器demo及原理

打印伺服器demo下载
打印伺服器只需要监听上面代码中的端口6555,然后解析出打印参数就可以和桌面软件一样方便灵活可定制打印

web打印的最佳方案相关推荐

  1. 锐浪html5打印,WEB打印

    WEB打印方式概述 WEB浏览器本身具备打印当前网页的功能,当网页内容超过一页时就需要分页处理,浏览器对这样的分页处理都不完善,直接利用浏览器的打印功能很难实现多页数据的完美打印.各种浏览器的打印行为 ...

  2. 基于IE内核的一个WEB打印实现方案

    工作需要实现一个基于IE内核的打印方案.本文将对于此方案的进行一个整体解析.由于此方案涉及自己以前未涉及的很多方面,在研究过程中学习了很多,因此在此也是做一次总结. 本文主要分为以下几个部分: (一) ...

  3. java web 打印报表_Web报表的打印方案

    快逸报表提供两种打印方法: (1)将Web报表导出成 PDF 或 Excel 文件后,再打印. 快逸报表可以将Web报表无失真地导出Excel和PDF文件,但 对于分页机制要求比较高的中国式报表,Ex ...

  4. WEB 打印的相关技术分析

    文/谢康 做Web开发的人员一定都会面临一个共同的难题,那就是打印.的确,相对于Windows桌面应用程序来讲,Web应用程序的打印有种种限制,技术人员在项目开发过程中经常会遇到用户这样或那样的需求. ...

  5. Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些

    前言 CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁.CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借 ...

  6. web默认字体最佳实践

    环境: ie6 (window sp3) ie7,8,9 firefox3.6, chrome10,opera 10.62 (window7) 本文先列举出几种常见的字体的显示问题以及优点,然后再列举 ...

  7. 一起谈.NET技术,在MVC2.0使用Lodop为WEB打印提出完美解决方案

    通过好友CallHot介绍Lodopweb打印控件.由于是国人开发的,故这两天认真了研究下,打算在未来的项目中使用.现将学习成果与园友分享.如果存在不足的地方,希望您指出. 具体的实现步骤如下: 一. ...

  8. Web开发者的最佳开发调试环境Chrome

     做前端开发的朋友,大都喜欢Chrome浏览器,为什么呢,我想,其中一个原因,就是Chrome给开发者提供了强大的插件吧.JavaScript教程网给大家一起探讨Chrome的一些开发者的工具使用 ...

  9. 2013第39周一Web打印

    2013第39周一Web打印 项目中遇到了Java Web打印问题,简单调用IE浏览器的打印不能完全满足要求,于是就搜集了Web打印相关的主题,简单汇总一下.web打印难点在分页.页面纸张设置,页眉页 ...

  10. Web前端开发最佳实践(3):前端代码和资源的压缩与合并

    一般在网站发布时,会压缩前端HTML.CSS.JavaScript代码及用到的资源文件(主要是图片文件),目的是加快文件在网络中的传输,让网页更快的展现.当然,CDN分发.缓存等方式也是加快代码或资源 ...

最新文章

  1. 实用插件_这些实用的PR插件你知道吗?
  2. C++ 内存泄露处理方法 (转)
  3. html 数据项放在 标签,如何在HTML中传递数据选择选项标签?
  4. phpstudy(小皮面板)Deepin安装脚本
  5. c语言链表有没有哨兵的区别,链表中的哨兵(sentinel)
  6. 15个友好的jQuery 提示框插件
  7. malloc()与calloc区别
  8. C++ 柔性数组(转载)
  9. 单元测试自动生成测试用例
  10. 全球与中国车载摄像头模块市场现状及未来发展趋势
  11. access查询出生日期格式转换_Access时间格式处理
  12. 互联网专用计算机屏保,5款屏保,让你的电脑在闲置时也与众不同。
  13. 基于卡尔曼滤波算法融合图像速度数据和加速度计数据
  14. 野火ISO-V2学习
  15. 安娜模特java_捧红了梦露的花花公子,首席模特安娜狂露身材,“神臀”不负此名...
  16. python爬取网易云热歌榜
  17. 宏病毒组(四)|病毒注释软件介绍
  18. 微软搜索引擎突围:斥资1亿为Kumo做广告
  19. Tensorflow object detection API 的环境配置
  20. 【ArcGIS】属性表导出及乱码问题

热门文章

  1. ARM体系结构与编程模型总结
  2. python安装caffe_caffe中安装python
  3. jQuery实现记住帐号密码功能
  4. pythonmt4通讯swot矩阵_swot分析矩阵范例
  5. u深度重装系统详细教程_u深度启动u盘安装win7系统教程
  6. SIM800A/C只能发短信不能收短信解决方案
  7. 湖北移动中兴B860AV2.1_S905L_线刷固件包
  8. cmd运行javac解析中文乱码
  9. UA MATH524 复变函数 用保形映射解Laplace方程的边值问题
  10. 论文阅读《A Survey on Deeping Learning In Medical Image Analysis》