打印某一个网页上的内容我们都经常遇到过,比如网上申请港澳通行证时需要填写申请表,然后把申请表给打印出来。像这样的打印技术是怎么实现?这种打印可以通过一种叫云打印的插件来做,按我的理解云打印的技术把需要打印的内容上传到“云”服务器,然后经过服务器传输到打印机中。
    平时我们上网的时候可以直接在某个网页上点击打印,这种打印叫做网络打印,是将数据存放在打印设备或打印机内置的存储设备上,而云打印是将数据存放到“云”端。
    打印技术在很多开发项目中都会用到,我们项目组已经开发完的一个塘厦项目中就用到了打印技术,打印实现需要在eclipse中加入已经下载好的打印文件。
    接下来是整个打印实现的过程:
(1)准备材料
    在Java编译器eclipse中,把上面下载好的这个文件放到对应的文件夹中,放哪都行,只要引用的时候路径引用对就行。
    .exe文件是在客户端需要安装的一些插件,看浏览器(客户端)是多少位的就按照哪个。
    这个打印只和前端有关,后台代码不需要做什么。
        
(2)需求要实现的效果
    点击打印后这个页面的传到打印页面,预览后打印出A4纸。

(3)在代码里面实现
    首先要print.html页面引用打印的JS文件
 <!-- 打印插件  -->
<script src="/js/Lodop/LodopFuncs.js" type="text/javascript"></script>
<object id="LODOP_OB"
classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
<embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
</object>

这是打印的html页面

 <form action="offcomplete/print" method="post">
<input type="hidden" id="id" name="offBatchfile.id"
value="${offBatchfile.id!}" />
<%if(off.display_Name == null){%>
<div class="print_btn_box">
<a href="#" onclick="PrintURL()" class="btn btn-default"><i class="fa fa-print"></i>打印</a>
<a href="/offcomplete/export/${printUsefullId!}" class="btn btn-default"><i class="fa fa-file-word-o"></i>下载</a>
</div>
<%}%>
<div align="center" id="print">
<% include("/offcomplete/view.html"){}%>
</div>
</form>

然后给打印按钮一个 click 事件

 <script type="text/javascript">
//打印注册
function PrintURL() {
try {
var LODOP = getLodop(document.getElementById('LODOP_OB'), document
.getElementById('LODOP_EM'));
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_STYLE("FontSize", 18);
LODOP.SET_PRINT_STYLE("Bold", 1);
LODOP.ADD_PRINT_HTM(45, 55, 770, 1004, document
.getElementById("print").innerHTML);
LODOP.PREVIEW();
} catch (e) { }
}
</script>

如果这些步骤都做完了就可以实现打印了,在客户端打印的时候可能会遇到一些问题(IE浏览器不会出现),比如要提示这样的安装信息。那就说明没有安装 install_lodop 安装前最好看一下电脑的操作系统和所用的浏览器是多少位的,分为32位和64位,选择安装。

 
    希望我的分享能留有余香,我建议不管做什么样的Web项目,浏览器的选择还是挺重要的。
    一般来说我习惯开始就用IE,因为不管是谁买了电脑,微软的东西肯定是必不可少的就装在了系统里,除非不是Windows操作系统的电脑,而且IE对很多浏览器来说算是最低端的,其他浏览器多多少少也会有IE内核,开发出来的东西最低端的浏览器运行都不出问题,那根据客户下载喜好的高级浏览器那就更没问题了,理论上是这么的,低版本的都能过关了,更何况高版本的。当然作为开发者还是青睐于狐火浏览器,用它来调试比较好。
 
 
 

Java的云打印Lodop的更多相关文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...

  2. c-lodop云打印实现手机打印 JS语句打印

    Lodop和c-lodop目前只能安装到windows操作系统上,但是其他操作系统可通过向C-Lodop安装的电脑发送打印任务,实现手机广域网或局域网打印,打印语句也是简单的JS语句,可以轻松实现云打 ...

  3. 使用速卖通开放平台云API调用菜鸟组件实现云打印

    公司是跨境电商,使用速卖通平台卖玩具,我们自己研发的ERP是基于速卖通开放平台API,实现订单的发货提交,打印面单等功能 近期公司要求使用菜鸟组件云打印,去平台里看下,有这个API,如下图所示 实现也 ...

  4. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  5. 飞鹅云打印 API_C#

    飞鹅云打印: 提交订单支付成功后台自动打印,实现无人销售,自动打印,后台统计打印记录功能:   有自带WIFY:连接到wify就可以打印小票: 有自动SIM卡:第1年免流量费,第2年30一年     ...

  6. deepin云打印实现连接Windows打印机

    问题的产生:今天给台式机安装deepin系统时,突发奇想能不能给其安装上打印机驱动,让其实现打印功能. 问题的解决方法: 1.在连接打印机的电脑上安装deepin云打印服务端软件,下载地址:https ...

  7. 菜鸟云打印接入Demo

    菜鸟云打印接入Demo 0. 接入流程图 1. 连接打印客户端 首先要打开打印客户端,然后使用下面的方法,连接客户端(WebSocket协议): 地址 :  连接打印客户端 function doCo ...

  8. 【转】JAVA输出内容打印到TXT以及不同系统中如何换行

    JAVA输出内容打印到TXT以及不同系统中如何换行 http://xiyang.09.blog.163.com/blog/static/59827615201172552755293/ 2011-08 ...

  9. 云打印-Beta-凡事预则立

    凡事预则立 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:Beta冲刺 团队队员 队员学号 队员姓名 个人博客地址 备注 221600 ...

随机推荐

  1. UVALive 5111 Soccer Teams (动态规划)

    题意:给指定数量的数字“1”,“2”,“3”……,“9”.用所有这些数字加上任意个0组成一个数,要求数能被11整除,且数的位数尽量小. 能被11整除的数有一个特点,奇数位数字之和与偶数位之和的差为11 ...

  2. JS 单元测试

    JS单元测试,我工作时主要以mocha + chai 下面时具体的文档: mocha: https://mochajs.org/#asynchronous-code Chai: http://chai ...

  3. scrollTop 值为 0

    由scrollTop兼容问题引起: 在 Firefox 和 IE 中,使用 document.documentElement.scrollTop 获取: 在 Chrome 中,使用 document. ...

  4. children真的没有兼容性问题吗?

    获取某一节点的所有子元素节点,你会用什么方法? 如果你用childNodes,那会有兼容性问题,对于标准浏览器,他包含的是元素节点和文本节点,我们还需要循环来判断节点的类型,是文本节点还是元素节点,不 ...

  5. 最火的Android开源项目(一)

    GitHub在中国 的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项 目很是必要.利用这些项目,有时能够 ...

  6. Windows性能计数器--磁盘性能分析Disk

    Physical Disk: 单次IO大小 Avg.Disk Bytes/Read Avg.Disk Bytes/Write IO响应时间 Avg.Disk sec/Read Avg.Disk sec ...

  7. java中synchronized使用方法

    synchronized的一个简单样例 public class TextThread { /**  * @param args  */ public static void main(String[ ...

  8. 更改Mysql数据库存储位置的具体步骤

    首先把mysql的服务先停掉,更改MySQL配置文件My.ini中的数据库存储主路径,将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径,接下来重启搞定     一.首先把mysql的服 ...

  9. lsb_release 提示命令不存在

    1. 报错信息 bash: lsb_release: command not found 2. 问题原因 未安装 lsb_release 命令 3. 解决方法 用 yum 命令安装 lsb_relea ...

  10. ie6的兼容总结

    ie6的兼容处理总结 1.透明背景图: .timer { _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='my.png ...