吐槽LodopWeb端打印控件

首先看以下的官方示例代码,其实是很简单的。 其他的代码可以去官方查看掩饰。
我只想吐槽下第一次用这个控件做了一个,不断的去后台读取数据然后打印出的功能。
思路如下:
每次从后台读取一页数据,然后在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();
}

你可能感兴趣的:(打印)