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 相关文章推荐
js操作iframe兼容各种主流浏览器示例代码
Jul 22 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
Nov 20 Javascript
JavaScript中数组Array方法详解
Feb 27 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
vue检测对象和数组的变化分析
Jun 30 Javascript
js实现简单五子棋游戏
May 28 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
Nov 20 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 无限级 SelectTree 类
2009/05/19 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
python3 flask实现文件上传功能
2020/03/20 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
经销商培训邀请函
2014/01/21 职场文书
警示教育活动总结
2014/05/05 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
创先争优演讲稿
2014/09/15 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
Django模型层实现多表关系创建和多表操作
2021/07/21 Python