web打印小结


Posted in Javascript onJanuary 11, 2017

项目中有个需求是将winform客户端的打印,移到网页上由客户自行打印,打印要求是根据一定的格式实现套打。

当时的解决方案是使用PDF打印:

1、 准备好套打格式的底图;

2、打开底图,将动态内容画到底图上;

3、利用第二步修改后的图片,生成PDF,完成打印

后来发现一款比较强大的web打印工具lodop,简单使用说明如下:

1、先检查下浏览器是否安装此插件:

   http://www.lodop.net/demolist/PrintSample1.html

2、建立html,此入口可以打开一个图形化编辑页面,生成结果图如下:

<html>
<body>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
<script>
function myPreview() { 
 LODOP.PRINT_INIT("测试套打模板");
 };
</script>
<a href="javascript:;" onclick="javascript:myPreview();LODOP.PRINT_DESIGN();">进入模板设计</a>
</body>
</html>

3、我们可以将要套打的单据做成图片,导入这个图形化界面作为背景图,然后放入文本框等内容,开始测试。

4、完成位置定位后,可以点击左上角的整体对准图标,做统一调整。

5、去掉背景图,生成代码,放入JS代码段中

LODOP.PRINT_INIT("测试套打模板");
LODOP.ADD_PRINT_TEXT(107,225,338,30,"竞买人名称");
LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
LODOP.ADD_PRINT_TEXT(421,116,209,26,"手机号码");
LODOP.SET_PRINT_STYLEA(0,"FontSize",13);
<html>
<body>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
<script>
function myPreview() { 
 LODOP.PRINT_INIT("测试套打模板");
LODOP.ADD_PRINT_TEXT(107,225,338,30,"竞买人名称");
LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
LODOP.ADD_PRINT_TEXT(421,116,209,26,"手机号码");
LODOP.SET_PRINT_STYLEA(0,"FontSize",13);
 };
</script>
<a href="javascript:;" onclick="javascript:myPreview();LODOP.PRINT_DESIGN();">进入模板设计</a>
</body>
</html>

6、JS参数性质的改动

总结:

PDF的难点在于要精确的计算出需要填充内容的位置,调试比较麻烦,而lodop是图形化界面,方便我们调试,并且语法简单,方便溶于JS中,此处仅仅简单列举了一个简单的实例,更多功能,可参考官网地址:http://www.lodop.net

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
用jQuery简化JavaScript开发分析
Feb 19 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
jquery实现数字输入框
Feb 22 Javascript
js插件实现图片滑动验证码
Sep 29 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
vue实现随机验证码功能(完整代码)
Dec 10 Javascript
javascript中闭包closure的深入讲解
Mar 03 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 #Javascript
jQuery插件JWPlayer视频播放器用法实例分析
Jan 11 #Javascript
AngularJS中的缓存使用
Jan 11 #Javascript
AngularJS中的按需加载ocLazyLoad示例
Jan 11 #Javascript
ajax的分页查询示例(不刷新页面)
Jan 11 #Javascript
JavaScript实现大图轮播效果
Jan 11 #Javascript
微信小程序 特效菜单抽屉效果实例代码
Jan 11 #Javascript
You might like
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
Python import用法以及与from...import的区别
2015/05/28 Python
python lxml中etree的简单应用
2019/05/10 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
一些Solaris面试题
2015/12/22 面试题
EJB实例的生命周期
2016/10/28 面试题
手机银行营销方案
2014/03/14 职场文书
入股协议书
2014/04/14 职场文书
活动总结报告范文
2014/05/04 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
趣味运动会赞词
2015/07/22 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书