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 相关文章推荐
Prototype使用指南之selector.js说明
Oct 26 Javascript
JS 数字转换研究总结
Dec 26 Javascript
从数据库读取数据后将其输出成html标签的三种方法
Oct 13 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
详解前端自动化工具gulp自动添加版本号
Dec 20 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
JavaScript 作用域scope简单汇总
Oct 23 Javascript
详解Vue 项目中的几个实用组件(ts)
Oct 29 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 Javascript
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
微信小程序 常见问题总结(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关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
使用python实现rsa算法代码
2016/02/17 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
Django中的forms组件实例详解
2018/11/08 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
销售员岗位职责范本
2014/02/03 职场文书
小班下学期评语
2014/05/04 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书