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 相关文章推荐
分页栏的web标准实现
Nov 01 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
jquery常用特效方法使用示例
Apr 25 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
JS实现的不规则TAB选项卡效果代码
Sep 18 Javascript
深入理解angular2启动项目步骤
Jul 15 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
Dec 07 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
Node.js安装详细步骤教程(Windows版)详解
Sep 01 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
1 Tube Radio
2021/03/02 无线电
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python字符串处理之count()方法的使用
2015/05/18 Python
用Django写天气预报查询网站
2018/10/21 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
生物化工工艺专业应届生求职信
2013/10/08 职场文书
教师学习培训邀请函
2014/02/04 职场文书
房屋租赁意向书
2014/04/01 职场文书
团代会宣传工作方案
2014/05/08 职场文书
暑期教师培训方案
2014/06/07 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
村委会贫困证明范本
2014/09/17 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
管理人员岗位职责
2015/02/14 职场文书
java多态注意项小结
2021/10/16 Java/Android