LODOP打印URL显示和隐藏进度条
不建议使用ADD_PRINT_URL:
由于Lodop借用IE下载引擎,与非IE浏览器之间目前不能传递Session(Cookies),所以需要安全验证的页面不要用URL方式打印,要用页面已经下载好的内容的HTM方式打印,也就是ADD_PRINT_HTM或ADD_PRINT_TABLE等语句
另外URL方式需要二次访问服务器,理论上存在下载失败的可能,所以专业的管理系统尽量不要用URL方式。
URL方式需要二次访问服务器,理论上存在下载失败的可能,有可能会获取不到页面,或显示的是拦截的页面等,URL需要下载解析等,所以需要花费的时间长,一般内容较多的都会出现进度条,进度条有两个:(默认值)
正在打开页面下载数据(限时5分钟)...(1)
下载结束,正在准备打印数据...(1)
如果有一个任务有多个url,则有可能会弹出多次这种进度条,如一个任务打印两个url,有可能会提示四个进度条,打印三个,会提示六个进度条,后面的(1)是哪个url的,如果是第二个url,就是(2)...第三个就是(3),根据进度条可以看出当前在加载哪个url,目前在下载还是在准备打印。
如果url打印项很多,每个url加载很快,会表现为闪过多个进度条。
解决方法:
专业的管理系统,不建议使用URL方式,尽量用已经下载好的内容的HTM方式打印,例如ADD_PRINT_HTM等语句。
LODOP中有语句可以隐藏这两个进度条,利用语句也可以修改该提示,但是不建议隐藏,因为URL加载很慢,隐藏了进度条,会表现为点了打印或打印预览没反应,要等一段时间才会弹出预览界面,对用户很不友好。
测试代码:
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn0_preview()">两个url的打印预览</a><br>
<a href="javascript:prn1_preview()">两个url的打印预览</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn0_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_URL(0,0,"100%","100%","http://www.lodop.net/LodopDemo.html");
LODOP.NEWPAGEA();
LODOP.ADD_PRINT_URL(0,0,"100%","100%","https://www.cnblogs.com/huaxie/");
LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
LODOP.PREVIEW();
};
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_URL(0,0,"100%","100%","http://www.lodop.net/LodopDemo.html");
LODOP.NEWPAGEA();
LODOP.ADD_PRINT_URL(0,0,"100%","100%","https://www.cnblogs.com/huaxie/");
LODOP.SET_SHOW_MODE("MESSAGE_GETING_URL",""); //该语句隐藏进度条或修改提示信息
LODOP.SET_SHOW_MODE("MESSAGE_PARSING_URL","");//该语句隐藏进度条或修改提示信息
LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
LODOP.PREVIEW();
};
</script>
图示:

LODOP打印URL显示和隐藏进度条的更多相关文章
- [简短问答]lodop打印过慢或有进度条
问法1:打印预览显示进度条,过慢出现进度条,打印过慢,可能和很多原因有关:打印内容或样式或图片等过多,有需要下载有脚步执行或本身网络慢:机器性能过低 系统ie有问题或缓存过多:或使用的是共享打印机.如 ...
- css3实现loading效果--当页面加载过程中显示Loading的进度条,全部加载完成之后进度条消失
一个页面等图片资源全部加载完成,会需要很长时间,用户体验会很差,所以我们需要loading来掩盖这个漫长的过程! emmm,定时器?写个定时器还要清除,万一造成内存泄露?定时器之间还会互相影响,呼呼呼 ...
- ajax 上传文件,显示进度条,进度条100%,进度条隐藏,出现卡顿就隐藏进度条,显示正在加载,再显示上传完成
<form id="uploadForm" method="post" enctype="multipart/form-data"&g ...
- 添加TextView隐藏进度条的方法
在TextView中添加 android:scrollbars="vertical" android:singleLine="false" 在Activity代 ...
- 在ProgressBar上加文字----显示百分比的进度条
http://www.cnblogs.com/3dant/archive/2011/04/25/2026776.html
- Linux终端彩色打印+终端进度条【转】
转自:https://my.oschina.net/jcseg/blog/178047 开发的一个应用程序选择了终端界面, 为了使软件稍微好看些, 研究下Linux终端的彩色打印, 并且基于这个彩色打 ...
- commons-fileupload实现上传进度条的显示
本文将使用 apache fileupload ,spring MVC jquery 实现一个带进度条的多文件上传, 由于fileupload 的局限,暂不能实现每个上传文件都显示进度条, ...
- 项目一、ajax上传数据(显示进度条)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- !!!!!安卓界面总是显示载入进度条的问题,没事别乱用ListFragment
近期的安卓应用快完工了.可是个别界面有瑕疵,怎么改动都解决不了.挥之不去的阴影.问题例如以下: 在界面上,数据已经载入完成了.可还是有一股圆形的进度条,感觉它老是在载入什么东西,严重影响界面美观: 1 ...
随机推荐
- scala简单的功能实现~weektwo
1.编写⼀个BankAccount类,假如deposit和withdraw⽅法,和⼀个只读的balance属性. //存款(deposit)和取款()函数 class BankAccount exte ...
- Virtual DOM的渲染机制--猜测
一个node的状态发生变化: 会对当前结点和子节点的数据全部进行更新: 然后进行dom比较: 比较完毕后一次性提交: 相对于以前的渲染方式: 每一个node的数据发生变化,都会产生一次渲染提交: 以上 ...
- CF379C-New Year Ratings Change
https://www.luogu.org/problemnew/show/CF379C 一道水题,折腾了我好久! 解题: 先排序,从小到大挨个满足客户,把最终rating放进集合里,判断是否已经给出 ...
- 基于链表的栈(Java)
package com.rao.linkList; /** * @author Srao * @className LinkedStack * @date 2019/12/3 13:59 * @pac ...
- FFT代码详解
关于FFT原理部分的介绍,在网上已经有很多了,所以在此只讲代码实现部分的内容. 原理可以参考https://www.cnblogs.com/RabbitHu/p/FFT.html 推荐看完它的原理解释 ...
- MongoDB shell 4 用户管理方法
方法名 描述 db.getUsers() db.dropAllUsers() db.updateUser() db.createUser() db.revokeRolesFromUse ...
- luogu 2742 二维凸包
链接 luogu 模板一 上下利用斜率求凸包然后合并. #include <bits/stdc++.h> using namespace std; const int N=10005; c ...
- vue指令用法
vue指令 指令式带有 v- 前缀的特殊特性v-text和v-html都属于指令将数据和dom做关联,当表达式的值改变时,响应式地作用在视图 解决大胡子语法闪烁案例 [v-cloak] { dispa ...
- JavaScript sort函数
默认排序法则: 按照String类型ASCII码大小排序 如果要倒序排序,我们可以把大的数放前面: var arr = [10, 20, 1, 2]; arr.sort(function (x, y) ...
- pytest以函数形式形成测试用例
#coding=utf- from __future__ import print_function #开始执行该文件时,该函数执行 def setup_module(module): print(' ...