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实现的抽象CSS圆角效果!!
May 03 Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
jQuery设置和移除文本框默认值的方法
Mar 09 Javascript
在Python中使用glob模块查找文件路径的方法
Jun 17 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
jQuery 全选 全部选 反选 实现代码
Aug 17 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
ajax请求data遇到的问题分析
Jan 18 Javascript
解决npm管理员身份install时出现权限的问题
Mar 16 Javascript
详解package.json版本号规则
Aug 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
PHP多线程抓取网页实现代码
2010/07/22 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python中的heapq模块源码详析
2019/01/08 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
会计自荐书
2013/12/02 职场文书
给分销商的致歉信
2014/01/14 职场文书
幼儿园门卫制度
2014/01/29 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
2014年保洁工作总结
2014/11/24 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
python中tkinter复选框使用操作
2021/11/11 Python