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 相关文章推荐
Javascript注入技巧
Jun 22 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
May 15 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
Dec 13 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
Javascript 两种刷新方法以及区别和适用范围
Jan 17 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
深入理解vue-class-component源码阅读
Feb 18 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 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实现RSA加密类实例
2015/03/26 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
怎么快速自学python
2020/06/22 Python
JAVA代码查错题
2014/10/10 面试题
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
人事经理岗位职责范本
2014/08/04 职场文书
债务纠纷代理词
2015/05/25 职场文书
小平您好观后感
2015/06/09 职场文书
毕业班工作总结
2015/08/10 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS
Nginx利用Logrotate实现日志分割
2022/05/20 Servers