IE9环境下。LODOP打印,首次打印时,图片加载不出来、加载不完全问题

news/2025/2/21 10:33:54/

IE9环境下。LODOP打印,首次打印时,图片加载不出来、加载不完全问题

最近项目中涉及到照片打印的地方在IE9环境下首次打印会出现图片打印不出来,或者只打印出来一部分,但是第二次打印或者将浏览器切换到Edge下,又可以完整的打印出来的问题。一开始想到的就是由于网络原因造成了图片没有加载到或者没有加载完全。加延时!这是我第一个想到的方法。

但是延时加在哪儿呢?当时还是很懵逼的,于是经过了各种尝试:
这是最开始的代码:

success : function(html) {LODOP.PRINT_INIT("合格证打印"+rowsData.NAME+"--"+rowsData.CREDENTIALS_NO);if(hgzType == "1"){LODOP.SET_PRINT_PAGESIZE(1,"210mm","297mm","");}else{LODOP.SET_PRINT_PAGESIZE(2,"210mm","297mm","");}LODOP.ADD_PRINT_HTM(hgzTop?hgzTop:20,hgzLeft?hgzLeft:15, "100%","100%",html);LODOP.PRINT();}

这是第一次修改的代码:

success : function(html) {setTimeout(function () {LODOP.PRINT_INIT("合格证打印"+rowsData.NAME+"--"+rowsData.CREDENTIALS_NO);if(hgzType == "1"){LODOP.SET_PRINT_PAGESIZE(1,"210mm","297mm","");}else{LODOP.SET_PRINT_PAGESIZE(2,"210mm","297mm","");}LODOP.ADD_PRINT_HTM(hgzTop?hgzTop:20,hgzLeft?hgzLeft:15, "100%","100%",html);LODOP.PRINT();},3*1000);}

再次测试发现还是不行,图片加载在打印控件被调用后完成的,这样只是延时了调用打印控件,于是就想那在打印的开始之前在延时怎么样?于是就有了第二次改动:

success : function(html) {LODOP.PRINT_INIT("合格证打印"+rowsData.NAME+"--"+rowsData.CREDENTIALS_NO);if(hgzType == "1"){LODOP.SET_PRINT_PAGESIZE(1,"210mm","297mm","");}else{LODOP.SET_PRINT_PAGESIZE(2,"210mm","297mm","");}LODOP.ADD_PRINT_HTM(hgzTop?hgzTop:20,hgzLeft?hgzLeft:15, "100%","100%",html);setTimeout(function () {LODOP.PRINT();},3*1000);}

最初的想法是 LODOP.PRINT() 调用打印控件,图片加载是不是在这之前的 LODOP.ADD_PRINT_HTM 就已经在进行了呢?测试立马就给了我狠狠一巴掌。照片还是打印不出来!

那么办法,现在只有去找LODOP的文档,但是我发现网上关于LODOP的讨论并不多,就算有大部分也是一些使用教程,出现问题的文章并不多,发现一篇很好的介绍LODOP各个方法的文章@求知路漫漫,(但是依旧没有找到我想要的方法)。
后来还是在@dqx-低权限 的 Lodop、C-Lodop简短问答(二)中找到了答案(不过@dqx-低权限的主页是真的……很让人没有逛下去的欲望….)。
其实LODOP 自带了一个延时任务,用于延时加载超文本:


LODOP.SET_PRINT_STYLEA(0,”HtmWaitMilSecs”,1000)


这样就是延时下载超文本1000毫秒,该过后的代码为:

    success : function(html) {LODOP.PRINT_INIT("合格证打印"+rowsData.NAME+"--"+rowsData.CREDENTIALS_NO);if(hgzType == "1"){LODOP.SET_PRINT_PAGESIZE(1,"210mm","297mm","");}else{LODOP.SET_PRINT_PAGESIZE(2,"210mm","297mm","");}LODOP.ADD_PRINT_HTM(hgzTop?hgzTop:20,hgzLeft?hgzLeft:15, "100%","100%",html);LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",1000);LODOP.PRINT();}

http://www.ppmy.cn/news/676805.html

相关文章

idea中javaweb的jsp页面图片加载不出来的解决办法

方式一:删掉out输出文件,重新生成(删除out文件夹,然后运行) 处理前: 处理后: 方式二:更改路径(将路径改为tomcat下的应用程序上下文里的内容地址) 原路径&am…

SDWebImage--http图片加载不出来的问题

1、百度搜索了一些图片----浏览器右键检查元素----资源---图像---选择想要的图片---右键选择拷贝链接地址。 2、搜集了一堆图片后取链接加入项目中、使用SDWebImage加载图片、然而不显示、寻求解决办法。 3、使用如下方法发现error报错Error DomainNSURLErrorDomain Code403 …

Vue中使用:src绑定图片 图片加载不出来 不能显示

当Vue在前端传入一个图片时会自动添加一个无序乱码,如下图所示 在项目中的图片名称为tree.jpg,但是浏览器自动添加上了6990f624的乱码。 所以直接在:src中传入图片路径是不行的 我们需要得到图片路径中的乱码才能获得正确路径 方法很简单,只需用requi…

IDEA中Javaweb项目图片加载不出来解决方案

针对IDEA中Javaweb项目中无法加载图片 一、项目的结构及问题介绍 项目结构如下: 在500.jsp页面中访问了img目录下的相关图片,比如背景图片,我在500.jsp中是这样写的路径 background: url(../img/500.png) 0 0 no-repeat;虽然在IDEA中能够正常的预览到图…

uniapp动态图片加载不出来

uniapp动态图片加载不出来 var aa‘data:image/JPEG ;base64,’res; //res是base64的格式 this.urlaa.replace(/[\r\n]/g, “”) 这样就出来了

在HBuilder创建前端web项目时,图片加载不出来,怎么解决?

在HBuilder创建前端web项目时,图片加载不出来,如下: 解决方法: 将图片文件路径减少,可正常显示,如图:

整合SSM中jsp页面图片加载不出来问题

Jsp中图片加载不出来问题解决&#xff01;&#xff01;&#xff01; <div class"img_div"> <img class"product_img" alt"" src"static/img/pr.jpg" style"width: 228px;height: 300px"/></div>1.首先我…

javaweb图片加载不出来问题的解决方法

项目结构 <% page contentType"text/html;charsetUTF-8" language"java" %><html><head><title>Title</title> </head> <body><img src"../img/500.jpg"></body> </html>图片在页…