Java的云打印Lodop

Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。

Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印任务,尽量减少使用者的知识累赘。控件发布包有3个系统文件组成,全部功能用几个控件参数和2组功能函数来实现。

打印某一个网页上的内容我们都经常遇到过,比如网上申请港澳通行证时需要填写申请表,然后把申请表给打印出来。像这样的打印技术是怎么实现?这种打印可以通过一种叫云打印的插件来做,按我的理解云打印的技术把需要打印的内容上传到“云”服务器,然后经过服务器传输到打印机中。

平时我们上网的时候可以直接在某个网页上点击打印,这种打印叫做网络打印,是将数据存放在打印设备或打印机内置的存储设备上,而云打印是将数据存放到“云”端。

打印技术在很多开发项目中都会用到,我们项目组已经开发完的一个塘厦项目中就用到了打印技术,打印实现需要在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内核,开发出来的东西最低端的浏览器运行都不出问题,那根据客户下载喜好的高级浏览器那就更没问题了,理论上是这么的,低版本的都能过关了,更何况高版本的。当然作为开发者还是青睐于狐火浏览器,用它来调试比较好。

(0)

相关推荐

  • MVC+EasyUI+三层架构简单权限管理系统

    闲来无事把以前做的一个项目整理了一下,今天拿出来跟大家分享,交流和探讨.希望大家多多指正. 一.项目架构图 其中Entity为模型实体层类库:DAL为数据访问层类库,主要负责数据库操作:BLL为业务逻辑类库,Common为公共帮助类库,WebUI为用户层. 非Web层的所有实体类模板都已在项目中创建好,直接用动软生成就可以了. 二.数据库相关表 数据库文件放在web层的DB目录中 三.功能界面 *整个项目的样式都采用的是easyui自带的bootstrap样式.项目中涉及到的相关js验证规则,都

  • 基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于之前介绍LODOP不兼容Chrome等浏览器,因此曾经想放弃这个控件的打印处理,不过他们及时推出了"云打印控件C-Lodop",而且对之前的接口几乎完全兼容,因此在框架里也继续沿用了这个控件来进行相关的打印处理,包括常规的打印和运单信息套打等处理. 1.控件的安装 这个云控件C-Lodop

  • ASP.NET MVC使用EasyUI的datagrid多选提交保存教程

    需要实现EasyUI的datagrid组件加入选择checkbox列,并提交后台批量添加的功能,页面代码如下: 复制代码 代码如下: <script language="javascript" type="text/javascript"> $(function() { //searchbox $('#selectgoods-keywords').searchbox({ searcher: function(val, name) { searchInfo

  • 基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用

    在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍. 1.单行文本框 使用easyui的控件,单行文

  • 利用ASP.NET MVC+EasyUI+SqlServer搭建企业开发框架

    我们要搭建的框架是企业级开发框架,适用用企业管理信息系统的开发,如:OA.HR等 1.框架名称:sampleFrame. 2.搭建原则:最少知识原则. 3.先定义一个简单的编码规范:除类名和接口名外,其余首字母小写. 4.准备开发环境:vs2010及以上(mvc4).sqlserver.jquery2.0和easyui1.4.5 首先来看一下列表页面的效果图: 我们期望简洁带前台代码,如下: <table id="dataGrid" class="easyui-data

  • Java的云打印Lodop

    Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印任务,尽量减少使用者的知识累赘.控件发布包有3个系统文件组成,全部功能用几个控件参数和2组功能函数来实现. 打印某一个网页上的内容我们都经常遇到过,比如网上申请港澳通行证时需要填写申请表,然后把申请表给打印出来.像这样的打印技术是怎么实现?这种打印可以通过一种叫云打印的插件来做,按我的理

  • Java基础之打印万年历的简单实现(案例)

    问题:输入年,月,打印对应年月的日历. 示例: 问题分析: 1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天; 2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几? 解决1号是星期几? 2.1:先计算出年天数,即截至这一年1月1号的天数,用for循环,从1970年开始,闰年+366,平年+365; 2.2:计算出月天数,即截至本月1号的天数,用for循环,从1月份开始,算出月

  • PHP云打印类完整示例

    本文实例讲述了PHP云打印类.分享给大家供大家参考,具体如下: 一个项目需求要几百台电脑都有打印功能,本来是想用网络打印机的,后来发现没有网络打印机,就自己动手写一个打印类算了. 类实现想法是:先把要打印的数据都收集起来,在用js调用window打印函数.目前就使用于IE. 类提供打印排队功能.(PS,说白了就是一条一条读取数据) class Wprint{ //收集打印代码 private $data = array(); //处理打印代码 private $handle; public fu

  • Java编程实现打印螺旋矩阵实例代码

    直接上代码吧. 昨晚腾讯在线测试遇到的题. 螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环. import java.util.Scanner; public class mysnakematrix { private int n; // private int a[][]; // 声明一个矩阵 private int value = 1; // 矩阵里数字的值 public mysnakematrix(int i) { this.n

  • java实现转圈打印矩阵算法

    本文实例为大家分享了java实现转圈打印矩阵的具体代码,供大家参考,具体内容如下 给定一个整形矩阵Matrix,请按照顺时针方向转圈的方式,输入(打印)元素值. 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输出结果为:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 要求:额外空间复杂度为O(1) JAVA代码如下: package com.bean.algorithmexec; public class MatrixDemo

  • java实现顺时针打印矩阵

    本文实例为大家分享了java实现顺时针打印矩阵的具体代码,供大家参考,具体内容如下 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 1     2    3    4 5     6    7    8 9    10  11  12 13  14  15  16 方法一: 介

  • Java实现的打印螺旋矩阵算法示例

    本文实例讲述了Java实现的打印螺旋矩阵算法.分享给大家供大家参考,具体如下: 一个N阶矩阵顺时针呈螺旋状,形如下面的矩阵: 思路:使用一个二维数组存放数据,数组初始化为0,数组共有n平方个元素,因为是从1开始,所以元素的值是从1到n×n.按照上面的路线从1开始遍历一遍填入数据,每填入一个数据时后,判断边界和方向(说明,任意长度和宽度都可以使用这个思路,本例使用N*N的矩阵说明).直接上代码了: package study.haishen.com; /** * @author Administr

  • Java获取时间打印到控制台代码实例

    这篇文章主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 面试时有一道面试题:要求获取当时时间,并像电子手表那样打印到控制台. import java.text.SimpleDateFormat; import java.time.LocalTime; import java.util.Date; /** * 打印时间到控制台 * */ public class ConsoleTime { publi

  • 详细介绍Java阿里云的短信验证码实现

    阿里云手机短信验证码 第一步 登录阿里云开放平台 1.进入阿里云开放平台---->点击控制台 2.点击AccessKey管理 3.点击之后会弹出提示,选择开始使用子用户 4.新建一个用户组,然后按要求填写即可 5.创建一个用户,按要求填写内容,勾选编程访问 6.会得到AccessKey(id,密码) 要将这个账号保存下来! //用户登录名称 ==================== //AccessKey ID ==================== //AccessKey Secret ==

随机推荐