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 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
Bootstrap中CSS的使用方法
Feb 17 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
May 15 Javascript
基于Node.js的大文件分片上传示例
Jun 19 Javascript
解决vue单页面修改样式无法覆盖问题
Aug 05 Javascript
javascript实现倒计时关闭广告
Feb 09 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中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
javascript中的new使用
2010/03/20 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Python中的exec、eval使用实例
2014/09/23 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
如何使用python代码操作git代码
2020/02/29 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
delegate与普通函数的区别
2014/01/22 面试题
电子信息专业自荐书
2014/02/04 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
还款承诺书范本
2015/01/20 职场文书
付款证明模板
2015/06/19 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python