码迷,mamicode.com
首页 > Web开发 > 详细

吐槽LodopWeb端打印控件

时间:2015-07-17 14:06:13      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:控件   打印控件   lodop   

首先看以下的官方示例代码,其实是很简单的。 其他的代码可以去官方查看掩饰。
我只想吐槽下第一次用这个控件做了一个,不断的去后台读取数据然后打印出的功能。
思路如下:
每次从后台读取一页数据,然后在js中处理,拼接成html内容。然后判断内容高度,是否满了一页,满了则打印,否则继续追加内容(虚拟高度是按毫米和像素之间的必烈虚拟的一个尺寸)。
程序代码写完之后通过虚拟打印机打印出来的东西。很符合我们的要求,
那么问题来了:他们的插件首先是在不同的系统版本中,和不同的浏览器中安装成功率是不一样的。
就比如我在win10中安装。谷歌死活安装不上,在win7中谷歌也安装不上。好像他们提供的js还和jquery的验证框架冲突。

ok,吐槽完插件的兼容性,再来吐槽下这个空间对打印机的兼容性,在hp打印机(看着很新的一款)中打印出来的效果是我们需要的效果,但是换了一台打印机打印出来的效果就是错误的。用不同的浏览器打印出来的结果也不是一样的。比如:字体在全部打印中的纸张中不是一致的,有些打印出来的数据少了一页。有的多出来一张空页等等;

最后总结:如果只是打印页面的可见数据。我觉得用浏览器自带的打印功能就很好。需要不断的从后台获取的话。可能这个控件不适合用html的方式去填充内容。 兼容性太不好了!

 function createPrintPage(){
    LODOP.PRINT_INIT("进行lodop打印测试...");
    LODOP.ADD_PRINT_TEXT(30,60,170,20,document.getElementById("text_0").value);
    LODOP.ADD_PRINT_TEXT(60,60,170,20,document.getElementById("text_1").value);
    LODOP.ADD_PRINT_TEXT(90,60,170,20,document.getElementById("text_2").value);
    LODOP.ADD_PRINT_TEXT(120,60,170,20,document.getElementById("text_3").value);
    LODOP.ADD_PRINT_TEXT(150,60,170,20,document.getElementById("text_4").value);
    LODOP.ADD_PRINT_TEXT(180,60,170,20,document.getElementById("text_5").value);
}
其中:PRINT_INIT()是初始化方法,必须有,参数作为此次打印任务显示,或者作为PDF文件打印时的文件名。
“页面代码通过控件来控制打印机”这是Lodop的基本思路。所以每一个内容必须要页面代码传给控件,控件是不会去页面获取信息的,
预览方法:
function print_view(){
    createPrintPage();
    LODOP.PREVIEW();
}

打印方法:
function print(){
    createPrintPage();
    LODOP.PRINT();
}

打印维护:
function print_setup(){
    createPrintPage();
    LODOP.PRINT_SETUP();
}

打印设计:
function print_design(){
    createPrintPage();
    LODOP.PRINT_DESIGN();
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

吐槽LodopWeb端打印控件

标签:控件   打印控件   lodop   

原文地址:http://blog.csdn.net/mr_zhuqiang/article/details/46926053

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!